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