Правильно ли все решено и как можно было упростить программу? - PascalABC.NET
Формулировка задачи:
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или со*об*ща*ет, что таких чисел нет (вы*во*дит «NO»). Про*грам*ма по*лу*ча*ет на вход на*ту*раль*ные числа, ко*ли*че*ство введённых чисел не*из*вест*но,по*сле*до*ва*тель*ность чисел за*кан*чи*ва*ет*ся чис*лом 0 (0 – при*знак окон*ча*ния ввода, не вхо*дит в по*сле*до*ва*тель*ность).
Ко*ли*че*ство чисел не пре*вы*ша*ет 100. Введённые числа не пре*вы*ша*ют 300. Про*грам*ма долж*на вы*ве*сти сред*нее ариф*ме*ти*че*ское чисел, крат*ных 8, или вы*ве*сти «NO», если таких чисел нет. Зна*че*ние вы*во*дить с точ*но*стью до де*ся*тых.
Вход*ные дан*ные:
8
122
64
16
0
Выходные:
29,3
Решение задачи: «Правильно ли все решено и как можно было упростить программу?»
textual
Листинг программы
var x, i, cym:integer; sr:real; begin cym:=0; i:=0; readln(x); while x <> 0 do begin if (x mod 8=0) then begin i:= i + 1; cym:= cym + x; end; readln(x); end; sr:=cym/i; if i=0 then writeln('NO') else writeln(sr:5:1); end.
Объяснение кода листинга программы
- Объявлены следующие переменные: x, i, cym (тип integer), sr (тип real).
- Инициализируется переменная cym значением 0, переменная i значением 0.
- Вводится значение переменной x с помощью функции readln.
- Запускается цикл while, который будет выполняться до тех пор, пока значение переменной x не станет равным 0.
- Внутри цикла проверяется, делится ли значение переменной x на 8 без остатка. Если да, то выполняется блок кода:
- значение переменной i увеличивается на 1.
- значение переменной cym увеличивается на значение переменной x.
- После выполнения цикла while вводится новое значение переменной x.
- После окончания цикла while выполняется блок кода:
- значение переменной sr вычисляется как результат деления значения переменной cym на значение переменной i.
- если значение переменной i равно 0, то выводится сообщение
NO
. - иначе выводится значение переменной sr, округленное до 5 знаков после запятой.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д