Как написать программу на языке Паскаль, которая будет находить среднее арифметическое положительных и отрицательных чисел в последовательности целых чисел от -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".