Напишите подпрограмму на нахождение среднего арифметического. - 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.
Объяснение кода листинга программы
- В функции BiggerThenAvr объявлены две переменные: avr (среднее арифметическое) и count (количество чисел, которые были добавлены в avr).
- В функции BiggerThenAvr объявлена переменная x, которая используется для чтения введенного пользователем числа.
- В функции BiggerThenAvr считывается введенное пользователем число, и если оно не равно LAST, то оно добавляется к переменной avr и увеличивается счетчик count на единицу.
- Затем вызывается рекурсивная функция BiggerThenAvr с новыми значениями avr и count. Результат этой функции добавляется к ord(x*count > avr), что представляет собой порядок числа, введенного пользователем, по сравнению с avr.
- Если введенное пользователем число равно LAST, то результат равен 0.
- В основной программе объявлены переменные avr и count, инициализированы нулем.
- Затем вызывается функция BiggerThenAvr, и ее результат выводится на экран.
- После этого программа просит пользователя ввести еще одно число, и эта операция повторяется до тех пор, пока пользователь не введет LAST.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д