А. Среднее арифметическое 1)
Напишите программу, которая в последовательности натуральных чисел находит среднее
арифметическое трѐхзначных чисел или сообщает, что таких чисел нет (выводит NO).
Программа получает на вход натуральные числа, количество введѐнных чисел неизвестно,
последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не
входит в последовательность).
Количество чисел не превышает 20. Введѐнные числа не превышают 1500.
Программа должна вывести среднее арифметическое трѐхзначных чисел или вывести
«NO», если таких чисел нет.
Пример работы программы:
Входные данные Выходные данные
10
120
125
0
122.5
11
1
0
NO
program arithmeticmean;
var
i, quantity: integer;
amount: longint;
begin
quantity := 0;
amount := 0;
i := 1;
while i <> 0 do
begin
read(i);
if (i > 99) and (i < 1000) then
begin
amount := amount + i;
quantity := quantity + 1;
end
end;
if (quantity <> 0) then
write(amount / quantity)
else
write('NO');
end.
Объяснение:
program arithmeticmean; // Название программы
var
i, quantity: integer; // Создание целочисленных переменных
i - вводимые с клавиатуры числа;quantity - количество трехзначных чисел.amount: longint; // Создание целочисленной переменной
amount - сумма трехзначных чиселbegin // Начало программы
quantity := 0; // Количество трехзначных чисел = 0
amount := 0; // Сумма трехзначных чисел = 0
i := 1; // Переменная i = 1 (делается это для того, чтобы зайти в цикл (выходит какого-то рода обман))
while i <> 0 do // Пока переменная i ≠ 0
begin // Начало цикла
read(i); // Считываем с клавиатуры значение переменной i
if (i > 99) and (i < 1000) then // Если (*значение переменной i* > 99) И (*значение переменной i* < 1000), тогда - проверка, является ли число трехзначным
begin // Начало блока
amount := amount + i; // К переменной, хранящей сумму, прибавляется значение переменной i
quantity := quantity + 1; // К переменной, хранящей количество, прибавляется значение 1
end // Конец блока
end; // Конец цикла
if (quantity <> 0) then // Если количество трехзначных чисел ≠ 0, тогда - проверка, есть ли трехзначные числа в последовательности
write(amount / quantity) // Выводим среднее арифметическое - сумма ÷ количество
else // Иначе
write('NO'); // Выводим NO
end. // Конец программы