Найти среднее арифметическое последнего столбца в матрице (процедура) - Pascal
Формулировка задачи:
Дана матрица 10 на 10.Найти среднее арифметическое последнего столбца в матрице с помощью процедуры
Решение задачи: «Найти среднее арифметическое последнего столбца в матрице (процедура)»
textual
Листинг программы
{до процедуры - только константы}
const n = 10;
m = 10;
{и типы, необходимые для работы процедуры}
type arr = array [1..n, 1..m] of integer;
{массивы лучше передавать по ссылке, особенно, если размер массива очень большой}
{в average - возвращаемое значение}
procedure avg(var x: arr; var average: double);
var i: integer;
begin
average := 0;
for i := 1 to n do average := average + x[i, 10];
average := average / 10
end;
{а вот теперь - глобальные переменные,}
{при попытке их использования в процедуре, возникнет легко устранимая ошибка,}
{поскольку описаны они ПОСЛЕ процедуры, и ДО их описания не могут быть использованы}
var j, i: integer;
a: arr;
av: double;
begin
randomize;
for i := 1 to n do
for j := 1 to m do
a[i, j] := random(21);
writeln('Матрица');
for i := 1 to n do
begin
for j := 1 to m do write(a[i, j]:3);
writeln
end;
avg(a, av);
{передача значения в основную программу через переменную av}
writeln('Среднее арифметическое последнего столбца: ', av:0:10)
{на самом деле, при n=10 достаточно av:0:1}
end.
Объяснение кода листинга программы
- В начале кода объявлены константы n и m, которые представляют собой размеры матрицы.
- Затем объявлен тип данных arr, который представляет собой массив целых чисел размером от 1 до n строк и от 1 до m столбцов.
- Далее объявлена процедура avg, которая принимает в качестве параметров массив x и переменную average типа double для хранения среднего значения. Внутри процедуры объявлены переменные i и av, которые будут использоваться для вычисления среднего значения.
- После этого объявлены глобальные переменные j, i и a, которые будут использоваться для заполнения матрицы случайными числами. Также объявлена переменная av, которая будет использоваться для хранения среднего значения.
- В блоке begin выполняется инициализация генератора случайных чисел и заполнение матрицы случайными значениями.
- Затем вызывается процедура avg, передавая ей массив a и переменную av. Результат вычисления среднего значения сохраняется в переменной av.
- После этого выводится сообщение с матрицей, заполненной случайными значениями.
- Наконец, выводится среднее значение последнего столбца матрицы, которое сохранено в переменной av.