Вычисление матричных выражений при помощи среды программирования Turbo Pascal 7.0 с использованием подпрограмм процедур, страница 4

   for i:=1 to ma do

    for k:=1 to na do read(f,a[i,k]);

  read(f,mb,nb);

   for i:=1 to mb do

    for k:=1 to nb do read(f,b[i,k]);

  read(f,mc,nc);

   for i:=1 to mc do

for k:=1 to nc do read(f,c[i,k]);

 close(f);

 tr(b,mb,nb,bt);

 minus(a,bt,ma,na,atb);

 mult(atb,c,ma,nc,na,d);

 clrscr;

 writeln('Матрица А');

 mout(a,ma,na);

 writeln;

 writeln('Матрица В');

 mout(b,mb,nb);

 writeln;

 writeln('Матрица С');

 mout(c,mc,nc);

 writeln;

 readln;

 writeln('Транспонированная матрица B');

 mout(bt,nb,mb);

 writeln;

readln;

  writeln('Матрица (A-Bт)');

  mout(atb,ma,na);

  writeln;

  writeln('Окончательная матрица D');

  mout(d,ma,na);

  readln;

end.

6. Исходные данные

Ниже представлен файл данных – Eist.rgz, в котором представлены данные о каждой матрице: сначала указаны количества строк и столбцов каждой матрицы, а потом идут сами элементы матрицы.

3 2

3 6

7 9

5 4

2 3

8 4 5

5 6 7

2 4

18 15 2 5

3 5 17 9

Результат программы:

Матрица А

 3.00    6.00

 7.00    9.00

 5.00    4.00

Матрица В

 8.00    4.00    5.00

 5.00    6.00    7.00

Матрица С

18.00   15.00    2.00    5.00

 3.00    5.00   17.00    9.00

Транспонированная матрица B

 8.00    5.00

 4.00    6.00

 5.00    7.00

Матрица (A-Bт)

-5.00    1.00

 3.00    3.00

 0.00   -3.00

Окончательная матрица D

-87.00   -70.00

63.00   60.00

-9.00   -15.00

7.Схема программы.

Ниже приведена схема программы, где А, В, С – исходные матрицы, ma, mb, mc  - количество строк исходных матриц А, В, С соответственно, na, nb, nc – количество столбцов исходных матриц; bt,  atb  - промежуточные матрицы: транспонированная матрица B , произведение матрицы А на число, произведение транспонированной матрицы B и матрицы A, умноженной на число соответственно.


7.1.Схемы процедур программы.


а) ниже представлена схема подпрограммы процедуры вывода матрицы на экран – mout, где p – выводимая матрица, m, n – число её строк и столбцов.

б) ниже представлена схема подпрограммы процедуры транспонирования матрицы – tr, где p – исходная матрица, m, n – число её строк и столбцов, q – конечная матрица, полученная путем транспонированная исходной.



 в) ниже представлена подпрограмма процедура для вычисления разности матриц


 г) ниже представлена схема подпрограммы процедуры умножения двух матриц – mult, где p и q – исходные матрицы, r – конечная матрица, полученная перемножением двух исходных.