Как написать модуль с заданной процедурой и поключить его к программе? - Turbo Pascal
Формулировка задачи:
Есть процедура на Pascal (посчитует суму в кажой строке матрицы)
Как написать ее с помощью модуля и поключить к программе?
Решение задачи: «Как написать модуль с заданной процедурой и поключить его к программе?»
textual
Листинг программы
unit mdl;
interface
const n=10;
type mtr=array[1..n,1..n] of integer;
procedure matrix(var a:mtr);
procedure Sum(a:mtr;i:byte);
implementation
procedure matrix;
var i,j:byte;
begin
writeln('Матрица');
for i:=1 to 10 do
begin
for j:=1 to 10 do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
end;
procedure sum;
var j:byte;
s:integer;
begin
s:=0;
for j:=1 to n do
if j mod 2 = 0 then s:=s+a[i,j];
writeln('Сумма элементов с четными номерами в ',i,' строке=',s);
end;
end.
Объяснение кода листинга программы
Этот код представляет собой модуль на языке Turbo Pascal. Модуль содержит два процедурного блока: matrix и sum.
Процедура matrix принимает на вход матрицу a типа mtr (матрица целых чисел размером 10х10) и выводит на экран название этой матрицы. Затем она выполняет следующие действия:
- Выводит на экран
Матрица. - В цикле от 1 до 10 итерируется по строкам матрицы.
- В цикле от 1 до 10 итерируется по столбцам матрицы.
- Задает случайное значение для каждого элемента матрицы
a[i,j]. - Выводит значение элемента матрицы
a[i,j]на экран. - Выводит символ новой строки.
Процедура
sumпринимает на вход матрицуaтипаmtrи вычисляет сумму элементов с четными номерами в текущей строке. Затем она выводит на экран название этой матрицы и сумму элементов с четными номерами в текущей строке. - Инициализирует переменную
sзначением 0. - В цикле от 1 до
n(гдеn- это значение переменнойn, определенное в интерфейсе модуля) проверяет, является ли текущий номер строки четным. - Если текущий номер строки четный, то увеличивает значение переменной
sна значение элемента матрицыa[i,j]. - Выводит на экран название матрицы и значение переменной
s.