Разработка программ для вычисления матричного выражения в среде TurboPascal, страница 4

     a,b,c,ct,d: mas;

     m,n,i,j:integer;

     s:real;

     f,Fout:text;

    {основная программа}

  Begin

    assign (Fout,'F:\cts\rgz\1.rez');

     rewrite (Fout);

  {очистка экрана}

clrscr;

 {ввод из файла размеров и элементов матрицы А}

   assign(f,'F:\cts\rgz\sled.inp');

    reset(f);

    read(f,m,n);

      for i:=1 to m do

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

   close(f);

 {вывод на экран матрицы А}

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

 mout(a,m,n);

 {вычисление и вывод матрицы B}

 mult(a,a,m,n,m,b);

   writeln(Fout,'Матрица B');

   mout(b,n,m);

 {вычисление и вывод матрицы С}

 plus(a,b,m,n,c);

   writeln(Fout,'Матрица C');

   mout(c,m,n);

{вычисление и вывод матрицы СТ}

 tr(c,m,n,ct);

    Writeln(Fout,'Матрица CT');

    mout(ct,m,n);

  {вычисление и вывод конечного результата}

  skal(ct,m,n,1/2,d);

    Writeln(Fout,'Матрица D');

    mout(d,m,n);

  close (Fout);

end.

5. Блок-схема

 


1

 


 

Блок-схема: данные: Вывод D
 


 


Блок-схема: знак завершения: конец  

Рис.2 Схема алгоритма основной программы.

6.  Программа на языке Turbo Pascal

Ниже приведен текст программы на языке Pascal,реализующий этот алгоритм.

program matrix;

  uses crt;

  {описание массивов и переменных}

  type

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

   var

     a,b,c,ct,d: mas;

     m,n,i,j:integer;

     s:real;

     f,Fout:text;

  {описание процедуры mout}

  procedure mout(p:mas;m,n:integer);

    var

    i,j:integer;

    begin