Как написать программу на языке Паскаль, которая будет находить среднее арифметическое положительных и отрицательных чисел в последовательности целых чисел от -50 до 50, если количество чисел не превышает 1000? Программа должна выводить среднее с точностью до одного знака после запятой или слово NO, если положительных или отрицательных чисел нет.
Информатика 9 класс Программирование на языке Паскаль программа на Паскале среднее арифметическое положительные числа отрицательные числа Последовательность целых чисел точность до одного знака язык программирования алгоритм нахождения среднего условия задачи вывод результата
Для написания программы на языке Паскаль, которая находит среднее арифметическое положительных и отрицательных чисел в заданной последовательности, следуйте следующим шагам:
Теперь давайте посмотрим на пример кода, который реализует описанные шаги:
program AverageCalculator;
var
num: Integer;
posSum, negSum: Real;
posCount, negCount: Integer;
begin
posSum := 0;
negSum := 0;
posCount := 0;
negCount := 0;
while (posCount + negCount < 1000) do
begin
ReadLn(num);
if (num = 0) then
Break; // Завершение ввода по нулю
if (num > 0) then
begin
posSum := posSum + num;
posCount := posCount + 1;
end
else if (num < 0) then
begin
negSum := negSum + num;
negCount := negCount + 1;
end;
end;
if (posCount = 0) then
WriteLn('NO')
else
WriteLn('Среднее положительных: ', Round(posSum / posCount * 10) / 10:0:1);
if (negCount = 0) then
WriteLn('NO')
else
WriteLn('Среднее отрицательных: ', Round(negSum / negCount * 10) / 10:0:1);
end.
В этом коде мы используем цикл для ввода чисел и проверяем, является ли каждое число положительным или отрицательным. Затем мы вычисляем средние значения и выводим их с нужной точностью. Если положительных или отрицательных чисел нет, выводится "NO".