А. Среднее арифметическое 1)
Напишите программу, которая в последовательности натуральных чисел находит среднее
арифметическое трѐхзначных чисел или сообщает, что таких чисел нет (выводит NO).
Программа получает на вход натуральные числа, количество введѐнных чисел неизвестно,
последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не
входит в последовательность).
Количество чисел не превышает 20. Введѐнные числа не превышают 1500.
Программа должна вывести среднее арифметическое трѐхзначных чисел или вывести
«NO», если таких чисел нет.
Пример работы программы:
Входные данные Выходные данные
10
120
125
0
122.5
11
1
0
NO

AlexeyVT AlexeyVT    3   29.10.2020 21:31    1

Ответы
фреска25 фреска25  28.11.2020 21:31

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. // Конец программы

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика