В последовательности натуральных чисел найти среднее арифметическое трёхзначных - Free Pascal
Формулировка задачи:
Задача.
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.Пример работы программы: 10 125 120 =122.5 0 11 1 =NO 0
Подсказка: задача решается с применением цикла с предусловием, неоднократным вводом чисел с клавиатуры и включает в себя условный оператор.
Решение задачи: «В последовательности натуральных чисел найти среднее арифметическое трёхзначных»
textual
Листинг программы
uses Crt,math;
var
l,n,x:longint;
s:real;
begin
writeln('Введите последовательность 0-окончание ввода:');
writeln;
repeat
x:=l;
readln(l);
t:=t+1;
if (l>99) and (l<1000) then begin
n:=n+1;
s:=s+l;
end;
until l=0;
gotoxy(round(log10(x+1))+3,wherey-2);
if n=0 then write('=NO') else write('=',s/n:0:4);
readln;
end.
Объяснение кода листинга программы
- Установка начального значения переменных: — l: инициализируется значением 0; — n: инициализируется значением 0; — x: инициализируется значением 0; — s: инициализируется значением 0.
- Ввод последовательности чисел: — Вывод сообщения с просьбой ввести последовательность чисел; — Цикл повторяется до тех пор, пока не будет введено число 0; — Значение переменной l увеличивается на единицу после каждого введенного числа; — Если значение переменной l больше 99 и меньше 1000, то выполняется следующая часть кода; — Значение переменной n увеличивается на единицу.
- Вычисление среднего арифметического: — Значение переменной s увеличивается на значение переменной l.
- Вывод результата: — Перемещение курсора на позицию, соответствующую количеству цифр в числе s; — Вывод сообщения, содержащего результат вычисления среднего арифметического.