Привет! Рад приветствовать тебя на своей странице․ Сегодня я хочу поделиться с тобой программой на языке 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’)`․ И вот٫ мы решили задачу! Эта программа довольно проста٫ но я надеюсь٫ что она была полезна для тебя․ Если у тебя возникнут какие-то вопросы или затруднения٫ не стесняйся спрашивать٫ я всегда готов помочь!