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

 


8. Программа без процедур.

Program RGZ;

 uses crt;

 type

  mas=array[1..10,1..10] of real;

 var

  ma,mb,mc,na,nb,nc,i,j,k:integer;

  sum:real;

  a,b,c,bt,atb,d:mas;

  f:text;

 begin

  assign(f,'eist.rgz');

  reset(f);

  read(f,ma,na);

   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);

  for i:=1 to mb do

    for j:=1 to nb do bt[j,i]:=b[i,j];

  for i:=1 to ma do

   for k:=1 to na do atb[i,k]:=a[i,k]-bt[i,k];

  for i:=1 to ma do

   for j:=1 to nc do

    begin

      sum:=0;

      for k:=1 to na do sum:=sum+atb[i,k]*c[k,j];

      d[i,j]:=sum;

    end;

  clrscr;

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

  for i:=1 to ma do

  begin

for j:=1 to na do write(a[i,j]:5:2,'   ');

 writeln;

end;

writeln;

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

for i:=1 to mb do

begin

  for j:=1 to nb do write(b[i,j]:5:2,'   ');

 writeln;

end;

writeln;

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

for i:=1 to mc do

begin

  for j:=1 to nc do write(c[i,j]:5:2,'   ');

 writeln;

end;

writeln;

readln;

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

  for i:=1 to nb do

  begin

    for j:=1 to mb do write(bt[i,j]:5:2,'   ');

   writeln;

  end;

  writeln;

  readln;

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

  for i:=1 to ma do

  begin

    for j:=1 to na do write(atb[i,j]:5:2,'   ');

   writeln;

  end;

writeln;

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

  for i:=1 to ma do

  begin

    for j:=1 to nc do write(d[i,j]:5:2,'   ');

   writeln;

  end;

  readln;

end.

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

Матрица А

 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    7.00   -16.00

63.00   60.00   57.00   42.00

-9.00   -15.00   -51.00   -27.00

9. Анализ результатов расчетов.

Решая матричное выражения первым и вторым способами и сравнивая их с контрольным тестом, мы  увидели, что результаты совпадают, это свидетельствует  о правильности составления программ.

Заключение.

Turbo Pascal 7.0. позволяет применять разные функции для вычисления матричного выражения без каких-либо усилии. ведь известно, что матрицы широко применяются при проведении разнообразных вычислении, в том числе и при решении линейных уравнении. Приложение Turbo Pascal 7.0. позволяет вычислять матрицы любой сложности, облегчая нам задачу и устраняя возникшие трудности.

Библиографический список.