Предыдущий уровень изложения текущего раздела   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень: Глоссарии:


ПРОЦЕДУРЫ

Пример процедуры:

Составим программу, которая находит первую и вторую нормы матрицы размерностью 6 6, причем нахождение обеих норм реализуем в процедуре. Исходными данными для процедуры являются значения элементов матрицы, результатом - значения норм. Поэтому заголовок процедуры будет содержать список формальных параметров с тремя переменными: именем двумерного массива, в котором записаны значения элементов матрицы, и именами переменных, которым будут присвоены значения искомых норм матрицы.

 Program Norm;
 type
 Dim6= Array[1..6] of Real;
 Dim6x6= Array[1..6] of Dim6;
 var
 raMatr:         Dim6x6;
 raCol, raRow:   Dim6;
 rNorm1, rNorm2: Real;
 i,k:            Integer;
 Procedure Norms(raM: Dim6x6; var rN1, rN2: Real);
 var i,k: Integer;
 begin
 FillChar(raCol, SizeOf(Dim6), 0);
 FillChar(raRow, SizeOf(Dim6), 0);
 for i:=1 to 6 do
 for k:=1 to 6 do
 begin
 raCol[k]:=raCol[k]+Abs(raM[i,k]);
 raRow[i]:=raRow[i]+Abs(raM[i,k]);
 end;
 rN1:=raRow[1]; rN2:=raCol[1];
 for i:=2 to 6 do
 begin
 if rN1 < raRow[i] then rN1:=raRow[i];
 if rN2 < raCol[i] then rN2:=raCol[i];
 end;
 end;
 begin
 WriteLn(' Введи матрицу 6х6 построчно');
 for i:=1 to 6 do
 for k:=1 to 6 do
 Read(raMatr[i,k]);
 Norms(raMatr, rNorm1, rNorm2);
 WriteLn('rNorm1= ',rNorm1:8:2,'  rNorm2= ',rNorm2:8:2)
 end.