Напишите подпрограмму на нахождение среднего арифметического. - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Напишите подпрограмму на нахождение средне арифмитического. С помошью этой подпрограммы найти количество чисел, которые выше средне арифмитического из ряда чисел заданных с клавиатуры , заканчиваюшихся -777. Помогите пожауйста с не простой задачей.

Решение задачи: «Напишите подпрограмму на нахождение среднего арифметического.»

textual
Листинг программы
const
    LAST = -777;
function BiggerThenAvr(var avr: Real; var count: LongInt): LongInt;
var
    x: Real;
begin
    Write('Введите число (конец ввода: ', LAST, '): ');
    ReadLn(x);
    if (x <> LAST)
    then
    begin
        avr := avr + x;
        Inc(count);
        Result := BiggerThenAvr(avr, count) + Ord(x*count > avr);
    end
    else
        Result := 0;
    BiggerThenAvr := Result;
end;
var
    avr: Real;
    count: LongInt;
begin
    avr := 0;
    count := 0;
    WriteLn(BiggerThenAvr(avr, count));
    ReadLn;
end.

Объяснение кода листинга программы

  1. В функции BiggerThenAvr объявлены две переменные: avr (среднее арифметическое) и count (количество чисел, которые были добавлены в avr).
  2. В функции BiggerThenAvr объявлена переменная x, которая используется для чтения введенного пользователем числа.
  3. В функции BiggerThenAvr считывается введенное пользователем число, и если оно не равно LAST, то оно добавляется к переменной avr и увеличивается счетчик count на единицу.
  4. Затем вызывается рекурсивная функция BiggerThenAvr с новыми значениями avr и count. Результат этой функции добавляется к ord(x*count > avr), что представляет собой порядок числа, введенного пользователем, по сравнению с avr.
  5. Если введенное пользователем число равно LAST, то результат равен 0.
  6. В основной программе объявлены переменные avr и count, инициализированы нулем.
  7. Затем вызывается функция BiggerThenAvr, и ее результат выводится на экран.
  8. После этого программа просит пользователя ввести еще одно число, и эта операция повторяется до тех пор, пока пользователь не введет LAST.

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы