Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO).
Программа получает на вход натуральные числа, количество введѐнных чисел неизвестно,
последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не
входит в последовательность).
Количество чисел не превышает 100. Введѐнные числа не превышают 300.
Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO»,
если таких чисел нет.
Пример работы программы:
Входные данные Выходные данные
8
120
64
16
0
52.0
111
1
0
NO
Б. Число кратное n и дополнительное условие
1)
Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число, кратное 5. Программа получает на вход количество чисел в
последовательности, а затем сами числа. В последовательности всегда имеется число,
кратное 5.
Количество чисел не превышает 1000. Введѐнные числа не превышают
30 000.
Программа должна вывести одно число – максимальное число, кратное 5.
Пример работы программы:
Входные данные Выходные данные
3
10
25
12
25
1)
program arithmeticmean;
var
i, quantity: integer;
amount: longint;
arithmetic_mean: real;
begin
quantity := 0;
amount := 0;
i := 1;
while i <> 0 do
begin
read(i);
if (i mod 4 = 0) and (i <> 0) then
begin
amount := amount + i;
quantity := quantity + 1;
end
end;
arithmetic_mean := amount / quantity;
if (quantity <> 0) then
write(arithmetic_mean)
else
write('NO');
end.
2)
program max5;
var
size, max, counter, i: integer;
begin
counter := 0;
max := 0;
readln(size);
while counter < size do
begin
readln(i);
if (max < i) and (i mod 5 = 0) then
max := i;
counter := counter + 1;
end;
write(max);
end.
Объяснение:
1)
program arithmeticmean; // Название программы
var
i, quantity: integer; // Создание целочисленных переменных
i - вводимые с клавиатуры числа; quantity - количество трехзначных чисел.amount: longint; // Создание целочисленной переменной
amount - сумма трехзначных чиселarithmetic_mean: real; // Создание вещественной переменной
arithmetic_mean - среднее арифметическоеbegin // Начало программы
quantity := 0; // Количество трехзначных чисел = 0
amount := 0; // Сумма трехзначных чисел = 0
i := 1; // Переменная i = 1 (делается это для того, чтобы зайти в цикл (выходит какого-то рода обман))
while i <> 0 do // Пока переменная i ≠ 0
begin // Начало цикла
read(i); // Считываем с клавиатуры значение переменной i
if (i mod 4 = 0) and (i <> 0) then // Если остаток от деления = 4 И значение переменной i ≠ 0, тогда
begin // Начало блока
amount := amount + i; // К переменной, хранящей сумму, прибавляется значение переменной i
quantity := quantity + 1; // К переменной, хранящей количество, прибавляется значение 1
end // Конец блока
end; // Конец цикла
arithmetic_mean := amount / quantity; // Вычисление среднего арифметического (Сумма ÷ количество)
if (quantity <> 0) then // Если количество ≠ 0, тогда - проверка, есть ли
числа, подходящие под условие, в последовательности
write(arithmetic_mean) // Выводим среднее арифметическое
else // Иначе
write('NO'); // Выводим NO
end. // Конец программы
2)
program max5; // Название программы
var
size, max, counter, i: integer; // Создание целочисленных переменных
i - вводимые числа с клавиатуры; size - количество чисел в последовательности; max - максимальное число;counter - переменная счетчик.begin // Начало программы
counter := 0; // Переменная счетчик = 0
max := 0; // Максимум = 0
readln(size); // Считываем количество чисел в последовательности с клавиатуры
while counter < size do // Пока значение переменной counter < значения переменной size
begin // Начало цикла
readln(i); // Считываем число с клавиатуры
if (max < i) and (i mod 5 = 0) then // Если значение переменной max < значения переменной i И остаток от деления на 5 = 0, тогда
max := i; // Значение переменной max = значению переменной i
counter := counter + 1; // Переменная счетчик + 1
end; // Конец цикла
write(max); // Вывод значения переменной max
end. // Конец программы