procedure CalcArray (const Ax: array of Integer; var S: Integer; var M: Real); // var в параметрах означает, что переменная используется для возврата значения
var
i, c: Integer;
begin
S := 0;
c := 0;
for i := 0 to High (Ax) do begin
S := S + Ax [i]; // здесь накапливаем сумму элементов
c := c + 1;
end;
M := S / c; // когда найдена сумму, рассчитываем среднеарифметическое
end;
var
A: array [0..4] of Integer; // размерность массивов можно делать любой, но начинаться с 0
B: array [0..14] of Integer;
C: array [0..9] of Integer;
i, s: Integer;
m: Real;
begin
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
Randomize; // инициализация датчика случайных чисел
WriteLn ('Массив 1:');
for i := Low (A) to High (A) do begin
A [i] := Random (10); // заполняем элементы массива случайными значениями
Write (IntToStr (A [i]) + ' '); // выводим их для просмотра
end;
CalcArray (A, s, m); // вызов процедуры
WriteLn; // показываем возвращаемые из функции переменные
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
WriteLn; // аналогично поступаем с другими массивами
WriteLn ('Массив 2:');
for i := Low (B) to High (B) do begin
B [i] := Random (10);
Write (IntToStr (B [i]) + ' ');
end;
CalcArray (B, s, m);
WriteLn;
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
WriteLn;
WriteLn ('Массив 3:');
for i := Low (C) to High (C) do begin
C [i] := Random (10);
Write (IntToStr (C [i]) + ' ');
end;
CalcArray (C, s, m);
WriteLn;
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
end.