Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел - Pascal
Формулировка задачи:
Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел. помогите сделать с помощью функции или процедуры ! Заранее спасибо.
Решение задачи: «Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел»
textual
Листинг программы
uses crt; const n=10; var m:array[1..10]of integer; var i:integer; function SR(n:integer):real; begin if n=1 then Sr:=m[1] else SR:=((n-1)*SR(n-1)+m[n])/n; end; begin clrscr; write('-> '); for i:=1 to n do read(m[i]); readln; writeln('SR=',sr(n):0:5); readln; end.
Объяснение кода листинга программы
В данном коде используется язык программирования Pascal. Он содержит следующие элементы:
uses crt;
: Подключение стандартной библиотеки ввода-вывода.const n=10;
: Определение константыn
, которая равна 10.var m:array[1..10]of integer;
: Объявление переменнойm
, которая представляет собой массив целых чисел размером от 1 до 10.var i:integer;
: Объявление переменнойi
, которая является целочисленной.function SR(n:integer):real;
: Объявление функцииSR
, которая принимает целочисленный аргументn
и возвращает вещественное числоSR
.begin
: Начало блока кода.if n=1 then Sr:=m[1] else
: Еслиn
равно 1, то присвоить переменнойSr
значениеm[1]
, иначе выполнить следующие действия:- Вызвать функцию
SR(n-1)
(заменивn
наn-1
). - Присвоить переменной
SR
результат вычисления(n-1)*SR(n-1)+m[n]\) делённого на
n`.
- Вызвать функцию
end;
: Конец блока кода функцииSR
.begin
: Начало блока кода.clrscr;
: Очистка экрана.write('-> ');
: Вывести на экран символ->
.for i:=1 to n do read(m[i]);
: Чтениеn
значений из массиваm
в переменнуюi
.readln;
: Ожидание нажатия клавиши для завершения чтения.writeln('SR=',sr(n):0:5);
: Вывести на экран строкуSR=
с десятичным представлением значения функцииSR(n)
.readln;
: Ожидание нажатия клавиши для завершения вывода.end;
: Конец блока кода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д