Напишите подпрограмму на нахождение среднего арифметического. - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д