Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит no). программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 undefined признак окончания ввода, не входит в последовательность). количество чисел не превышает 100. введённые числа не превышают 300. программа должна вывести среднее арифметическое трёхзначных чисел или вывести «no», если таких чисел нет. расписать программу в паскаль abc
var
sum, n, count: longint;
begin
repeat
readln (n);
if n in [100..999] then
begin
inc (sum, n);
inc (count);
end;
until n=0;
if count = 0 then write ('No') else write (sum/count);
end.
```pascal
program AverageOfThreeDigitNumbers;
var
number, sum, count: integer;
average: real;
begin
sum := 0;
count := 0;
repeat
write('Введите число: ');
readln(number);
if (number >= 100) and (number <= 999) then
begin
sum := sum + number; // добавляем число к сумме
count := count + 1; // увеличиваем счетчик количества чисел
end;
until number = 0;
if count <> 0 then
begin
average := sum / count; // вычисляем среднее арифметическое
writeln('Среднее арифметическое: ', average:0:2);
end
else
writeln('No');
readln;
end.
```
Объяснение решения:
1. Мы используем переменные `number`, `sum`, `count` и `average`. `sum` - это сумма всех введенных трехзначных чисел, `count` - количество трехзначных чисел, а `average` - среднее арифметическое.
2. Инициализируем переменные `sum` и `count` нулями.
3. Вводим числа в цикле `repeat-until`. Запрашиваем у пользователя ввод числа и считываем его в переменную `number`.
4. Проверяем, является ли введенное число трехзначным с помощью условия `(number >= 100) and (number <= 999)`. Если число трехзначное, то выполняем код внутри блока `begin-end`.
5. Внутри блока кода увеличиваем переменную `sum` на введенное число и увеличиваем переменную `count` на единицу.
6. Цикл продолжается до тех пор, пока пользователь не введет число 0.
7. После выхода из цикла проверяем значение переменной `count`. Если оно не равно нулю, то выполняем код в блоке `begin-end`, в котором вычисляем среднее арифметическое путем деления суммы на количество чисел. Результат выводим на экран с двумя знаками после запятой.
8. В противном случае, если переменная `count` равна нулю, выводим на экран "No".
9. Программа останавливается, пока пользователь не нажмет клавишу Enter.
Надеюсь, эта программа поможет тебе понять, как решать подобные задачи! Если у тебя возникнут еще вопросы, не стесняйся задавать!