![]() ![]() ![]() ![]() |
|
|
![]() |
Пример процедуры:
Составим программу, которая находит первую и вторую нормы матрицы размерностью 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.