Как в функции использовать неопределённое кол-во переменных (2-10 переменных) - Pascal
Формулировка задачи:
Вот код Средне Арифметическое :
Данная функция только для двух чисел, а надо что бы она одна работала с разным количеством!
например:
s := sa2(a,b); среднее арифметическое из 2 двух чисел
s := sa2(a,b,c); среднее арифметическое из 3 двух чисел
procedure sa(a,b..):real;
library SA;
interface
function sa2(a,b:real):real;
implementation
function sa2(a,b:real):real;
begin
sa2 := (a+b)/2;
end;
end.Решение задачи: «Как в функции использовать неопределённое кол-во переменных (2-10 переменных)»
textual
Листинг программы
type mas=array of real; function sa2(a:mas;n:integer):real; begin result:=0; for var i := 1 to n-1 do result:=result+a[i]; result:=result/n; end; var a:mas; n:integer; r : real; begin readln(n); setlength(a,n); for var i := 0 to n-1 do begin a[i] := random(1,200); write(a[i]:4); end; writeln; r := sa2(a,3); writeln(r:0:2); end.
Объяснение кода листинга программы
- Объявляется пользовательский тип
mas- массив вещественных чисел. - Объявляется функция
sa2с параметрамиa- массив вещественных чисел иn- целое число, возвращает вещественное число. - В функции
sa2происходит инициализация переменнойresultс нулевым значением. - В цикле от 1 до n-1 происходит суммирование элементов массива
aв переменнуюresult. - После цикла переменная
resultделится на значение переменнойnи результат присваивается переменнойresult. - Объявляются переменные
a- массив вещественных чисел,n- целое число иr- вещественное число. - Считывается значение переменной
nс клавиатуры. - Создается массив
aдлинойn. - В цикле от 0 до n-1 каждому элементу массива
aприсваивается случайное вещественное значение от 1 до 200, после чего это значение выводится на экран. - Происходит переход на новую строку.
- Вызывается функция
sa2с массивомaи числом3, результат сохраняется в переменнойr. - Значение переменной
rвыводится на экран с округлением до 2 знаков после запятой.