0 / 0 / 0 Регистрация: 02.11.2015 Сообщений: 2 |
|
1 |
|
Определить минимальное и максимальное число в последовательности07.10.2011, 21:35. Показов 14724. Ответов 1
Даны две задачи.
0 |
VALIDOL4IK 11 / 2 / 7 Регистрация: 09.09.2011 Сообщений: 60 |
||||||||||||
08.10.2011, 23:24 |
2 |
|||||||||||
РешениеПервую задачу можно сделать через цикл For. Сейчас напишу пример. Добавлено через 21 минуту
Примечание: для того чтобы сделать обратную программу, чтобы узнать минимальный элемент цикла, мы меняем пару строк.
0 |
Задача 1
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число.
Решение:
Считаем сначала максимальным числом самое маленькое из возможных, т.е. ноль. Потом, перебираем все числа – если встретилось число большее, чем максимальное в данный момент, то оно и становится максимальным.
Var a, i, max, n: integer; begin Read(n); max:=0; for i:=1 to n do begin read(a); if a>max then max:=a; end; Writeln(max); end.
Нахождение МИНИМАЛЬНОГО числа.
Задача 2
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число.
Решение:
Считаем сначала минимальным числом самое большое из возможных, т.е. 30000. Потом, перебираем все числа – если встретилось число меньшее, чем минимальное в данный момент, то оно и становится минимальным.
Var a, i, min, n: integer; begin Read(n); min:=30000; for i:=1 to n do begin read(a); if a>min then min:=a; end; Writeln(min); end.
Нахождение МАКСИМАЛЬНОГО числа КРАТНОГО 7.
Задача 3
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 7. В последовательности всегда имеется число, кратное 7. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число – максимальное число, кратное 7.
Решение:
Считаем сначала максимальным числом самое маленькое из возможных, т.е. ноль. Потом, перебираем все числа – если встретилось число кратное 7 (остаток от деления на 7 равен нулю), И большее, чем максимальное в данный момент, то оно и становится максимальным.
Var a, i, max, n: integer; begin Read(n); max:=0; for i:=1 to n do begin read(a); if (a>max) and (a mod 7 = 0) then max:=a; end; Writeln(max); end.
Нахождение МАКСИМАЛЬНОГО числа, ОКАНЧИВАЮЩЕЕСЯ на 6.
Задача 4
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 6. В последовательности всегда имеется число, оканчивающееся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число – максимальное число, оканчивающееся на 6.
Решение:
В начале, максимальное число считается самым маленьким из всех возможных. Т.е. нулю. Затем перебираем числа в массиве. Если нам встретилось число, ОКАНЧИВАЮЩЕЕСЯ на 6 (Т.е. остаток от деления на 10 равен 6), И это число больше, чем наше максимальное в данный момент, то у нас становится новое максимальное – это число.
Var a, i, max, n: integer; begin Read(n); max:=0; for i:=1 to n do begin read(a); if (a>max) and (a mod 10 = 6) then max:=a; end; Writeln(max); end.
ЕГЭ по информатике — Задание 27 (Цепочки чисел)
Привет! Продолжаем готовится к ЕГЭ по информатике. Сегодня решим неско…
Категория: Информатика Подкатегория: ЕГЭ
Дата: 27-02-2023 в 16:00:04
2
program nam1; var i,n,j:integer; max, a:real; begin readln(n); {вводим количество элементов} readln(max); {вводим первый элемент, предполагая что он максимальный} for i:=2 to n do {начинаем перебирать их начиная со второго, т.к. первый уже введён} begin readln(a); {вводим n элементов} if a>max then max:=a; end; writeln('Максимальное число=',max); end.
На занятии происходит знакомство с логическим типом Boolean в Паскале. Рассматривается алгоритм того, как находится минимальное и максимальное число в Паскале
Сайт labs-org.ru предоставляет лабораторные задания по теме для закрепления теоретического материала и получения практических навыков программирования на Паскале. Краткие теоретические сведения позволят получить необходимый для этого минимум знаний. Решенные наглядные примеры и лабораторные задания изложены по мере увеличения их сложности, что позволит с легкостью изучить материал с нуля. Желаем удачи!
Содержание:
- Логический тип данных Boolean в Паскале
- Минимальное и максимальное число в Паскале.
[Название файла: task_bool4.pas]
Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true
или false
.
Значения логического типа:
TRUE
FALSE
В примере ниже, на экран выводится результат логического выражения:
1 2 3 4 5 6 |
var A: integer; begin A := 5; write(A > 0); {Будет выведено True} end. |
Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean
и может также принимать одно из двух значений — true
или false
.
Посмотрим, как работает та же самая задача с логической переменной:
1 2 3 4 5 6 7 8 |
var A: integer; b: boolean; begin A := 5; b:=A > 0; write(b);{Будет выведено True} end. |
Пример: Рассмотрим пример работы с типом boolean
в pascal:
1 2 3 4 5 6 |
var a:boolean; begin a:=true; if a=true then writeln ('истина') else writeln('ложь'); end. |
Для создания сложных условий используются специальные логические операции: and
, or
, not
и xor
.
Задача Boolean 1. Дано целое положительное число. Проверить истинность высказывания: «оно является четным»
[Название файла: task_bool1.pas
]
Рассмотрим пример с использованием логической операции XOR
:
Пример: Запросить два целых: X, Y. Проверить истинность высказывания: «Только одно из чисел X и Y является нечетным»
1 2 3 4 5 6 7 8 9 10 11 |
program Boolean; var x,y: integer; c :boolean; begin write('Введите X, Y: '); read(x,y); c := (Odd(x)) xor (Odd(y)); writeln('Только одна из переменных X и Y имеет нечетное значение - ', c); end. |
Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:
Задача Boolean 2. Даны три целых числа: A, B, C. Проверить истинность высказывания: «B находится между числами A и C».
[Название файла: task_bool2.pas
]
Рассмотрим решение более сложной задачи с переменной логического типа:
Пример: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».
Показать решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
const a=348; var d_n, s_n, e_n: integer; flag:boolean; begin flag:=false; s_n:=a div 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag:=true; writeln(flag); end. |
Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n
— это цифра сотого разряда, d_n
— цифра десятого разряда, e_n
— единицы.
Задача Boolean 3. Дано целое N > 0
. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N
цифра «2». Если имеется, то вывести TRUE
, если нет — вывести FALSE
.
[Название файла: task_bool3.pas
]
Задача Boolean 4. Дано целое положительное. Проверить истинность высказывания: «Данное число является нечетным трехзначным».
Минимальное и максимальное число в Паскале.
[Название файла: task_bool4.pas
]
task_bool4.pas
]
При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:
- Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
- Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
- Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
- Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.
Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:
или
max:=integer.MinValue;; // минимальное среди типа Integer min:=integer.MaxValue;; // максимальное среди типа Integer
PascalABC.NET
:
Можно использовать стандартные функции max()
и min()
:
print(max(2,8)); // 8 print(min(2,8)); // 2
Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:
Пример: В компьютер вводятся 10 чисел. Выводить максимальное из введенных чисел.
Показать решение:
Pascal | PascalABC.NET | ||||
|
|
Аналогично осуществляется поиск минимального из чисел.
Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:
Задача Max 1. В танцевальном клубе участвуют 10 представительниц женского пола. Определите, может ли самая старшая из них быть матерью самой младшей (в таком случае разница в возрасте может составлять не менее 17 лет).
[Название файла: task_max1.pas
]
Задача Max 2. Найти минимальное и максимальное из 10 введенных чисел и вывести сумму их порядковых номеров.
[Название файла: task_max2.pas
]
Задача Max 3. Средняя продолжительность жизни лабораторной мыши – 10 лет. Найдите максимальный показатель продолжительности жизни у пяти белых мышей и у пяти мышей-альбиносов. У каких мышей показатель уровня жизни выше?
[Название файла: task_max3.pas
]
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Поиск максимального (минимального) значения в
последовательности чисел
№1.
Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число, кратное 8. Программа получает на вход количество чисел в последовательности,
а затем сами числа. В последовательности всегда имеется число, кратное 8.
Количество
чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа
должна вывести одно число: максимальное число, кратное 8.
Пример работы программы:
Входные |
Выходные |
3 |
24 |
Решение на языке Паскаль
program Z_max1;
var i, n, x, max: integer;
begin
readln (n);
max:=0;
for i:=1 to n do
begin
readln (x);
if (x mod 8 =0) and (x
> max) then max:=x;
end;
writeln (max);
end.
№2.
Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число и его порядковый номер, оканчивающееся на 2.
Программа
получает на вход количество чисел в последовательности, а затем сами числа. В
последовательности всегда имеется число, оканчивающееся на 2.
Количество
чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа
должна вывести одно число – максимальное число, оканчивающееся на 2.
Пример работы программы:
Входные |
Выходные |
4 |
22 2 |
Решение на языке Паскаль
program Z_max2;
var i, n, x, k, max: integer;
begin
readln (n);
max:=0;
for i:=1 to n do
begin
readln (x);
if (x mod 10 =2) and (x
> max) then
begin
max:=x;
k:=i;
end;
end;
writeln (max);
writeln (k);
end.
№3.
Напишите программу, которая в последовательности натуральных чисел определяет второй
по величине наибольший элемент. Программа получает на вход количество чисел в
последовательности, а затем сами числа. Количество чисел не превышает 1000.
Введённые числа по модулю не превышают 30 000.
Программа
должна вывести одно число: максимальное число, кратное 8.
Пример работы программы:
Входные |
Выходные |
3 |
16 |
Решение на языке Паскаль
program Z_max3;
var i, n, x, max1, max2: integer;
begin
readln (n);
max1:=0; max2:=0;
for i:=1 to n do
begin
readln (x);
if x > max1 then begin max2:=max1; max1:=x; end
else if x > max2 then
max2:= x;
end;
writeln (max2);
end.
№1.
Напишите программу, которая в последовательности натуральных чисел определяет
минимальное число, кратное 5. Программа получает на вход числа, количество
чисел в последовательности неизвестно, окончанием ввода служит 0.
В последовательности всегда имеется число, кратное 5.
Количество
чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа
должна вывести одно число: максимальное число, кратное 8.
Пример работы программы:
Входные |
Выходные |
3 |
15 |
Решение на языке Паскаль
program Z_min4;
var i, n, x, min: integer;
begin
readln (x);
min:=30001;
while x<>0 do
begin
if (x mod 5 =0) and (x
< min) then min:=x;
readln (x);
end;
writeln (min);
end.