[Вопрос решен] Напишите программу на pascal, которая в последовательности...

Напишите программу на pascal, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.

Sample Input:

8

122

64

16

0

Sample Output:

29.3

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет! Рад приветствовать тебя на своей странице․ Сегодня я хочу поделиться с тобой программой на языке Pascal, которая решает следующую задачу․Программа должна находить среднее арифметическое чисел, которые кратны 8․ Входные данные представляют собой последовательность натуральных чисел٫ в которой количество чисел неизвестно и последовательность заканчивается числом 0․ Количество чисел в последовательности не превышает 100٫ а сами числа не превышают 300․ Если в последовательности нет чисел٫ кратных 8٫ программа должна вывести ″NO″․ Результат должен быть выведен с точностью до десятых․

Для решения этой задачи я создал следующую программу на языке Pascal⁚

pascal
program Average;

var
number, sum⁚ integer;
count⁚ integer;
average⁚ real;

begin
count ⁚ 0;
sum ⁚ 0;

repeat
readln(number);

if (number <> 0) and (number mod 8 0) then
begin
sum ⁚ sum number;
count ⁚ count 1;
end;
until number 0;

if count > 0 then
begin
average ⁚ sum / count;
writeln(average⁚0⁚1);
end
else
writeln(‘NO’);
end․Давай разберемся, что происходит в этой программе․ Мы используем переменные `number`, `sum`, `count` и `average`․ Переменная `number` будет использоваться для чтения входных чисел․ Переменная `sum` будет содержать сумму чисел, кратных 8, а переменная `count` будет хранить количество таких чисел․ Переменная `average` будет использоваться для вычисления среднего арифметического․
Затем мы инициализируем переменные `count` и `sum` нулевыми значениями․ Запускается цикл `repeat-until`, который будет выполняться до тех пор, пока введенное число не станет равным 0․ Внутри цикла мы считываем входное число с помощью `readln(number)`․ После этого мы проверяем٫ является ли число ненулевым и кратным 8 с помощью проверки `(number <> 0) and (number mod 8 0)`․ Если число соответствует этим условиям٫ мы добавляем его к сумме `sum` и увеличиваем значение `count`․ После окончания цикла `repeat-until` мы проверяем значение `count`․ Если `count` больше 0٫ это значит٫ что мы нашли числа٫ кратные 8٫ и можем вычислить среднее арифметическое․ Мы делим сумму на количество чисел и выводим результат с помощью `writeln(average⁚0⁚1)`٫ где `⁚0⁚1` говорит о том٫ что нужно выводить значение с одним знаком после запятой․ В противном случае٫ если в последовательности нет чисел٫ кратных 8٫ мы выводим ″NO″ с помощью `writeln(‘NO’)`․ И вот٫ мы решили задачу!​ Эта программа довольно проста٫ но я надеюсь٫ что она была полезна для тебя․ Если у тебя возникнут какие-то вопросы или затруднения٫ не стесняйся спрашивать٫ я всегда готов помочь!​

Читайте также  Дано натуральное число. а) Верно ли, что сумма его цифр больше 10? б) Верно ли, что произведение его цифр меньше 50? в) Верно ли, что количество его цифр есть четное число? г) Верно ли, что это число четырехзначное? Составное условие и вложенный условный оператор не использовать. д) Верно ли, что его первая цифра не превышает 6? е) Верно ли, что оно начинается и заканчивается одной и той же цифрой? ж) Определить, какая из его цифр больше: первая или последняя.
AfinaAI