Технология постепенного наращивания программы с одновременной отладкой для вычисления матричного выражения, страница 4

Матрица С

1

1

1

2

2

2

Выполняемые действия

·  Умножаем матрицу В на 2 по формуле: =2*A2:C4

·  Складываем полученную матрицу с матрицей А по формуле: =D2:F4+A7:C9

·  Полученную матрицу транспонируем по формуле: =ТРАНСП(D7:F9)

·  Умножаем полученную матрицу на матицу С: =A12:C13*D12:F14

Окончательный результат:

Матрица УХУ

5

6

7

10

12

14

1. Использование циклов и элементарных алгебраических преобразований

1.  Схема алгоритма

 


2.  Текст программы на языке Turbo Pascal

Program RGZ2_1;

uses crt;

var i,j,k:integer;

A: array [1..3,1..3] of integer;

B: array [1..3,1..3] of integer;

C: array [1..2,1..3] of integer;

d: array [1..2,1..3] of integer;

e: array [1..3] of integer;

Begin

 clrscr;

 a[1,1]:=3; a[1,2]:=3; a[1,3]:=3;

 a[2,1]:=2; a[2,2]:=2; a[2,3]:=2;

 a[3,1]:=1; a[3,2]:=1; a[3,3]:=1;

 b[1,1]:=2; b[1,2]:=2; b[1,3]:=2;

 b[2,1]:=4; b[2,2]:=4; b[2,3]:=4;

 b[3,1]:=6; b[3,2]:=6; b[3,3]:=6;

 c[1,1]:=1; c[1,2]:=1;

 c[2,1]:=2; c[2,2]:=2;

writeln('               Даны три матрицы:');

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

 writeln('  ',a[1,1],' ',a[1,2],' ',a[1,3],'       ',b[1,1],' ',b[1,2],' ',b[1,3]>;

 writeln(' ',a[2,1],' ',a[2,2],' ',a[2,3],'       ',b[2,1],' ',b[2,2],' ',b[2,3]>;

writeln('  ',a[3,1],' ',a[3,2],' ',a[3,3]);      ‘,b[3,1],’‘,b[3,2],’’,b[3,3]>;

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

 writeln('       ',c[1,1],' ',c[1,2]);

 writeln('        ',c[2,1],' ',c[2,2]);

 writeln('Найти матрицу D=C*((2B+A)трансп.’);

 writeln('Ответ:');

 writeln;

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

  for k:=1 to 2 do

   for i:=1 to 3 do

    begin

     for j:=1 to 3 do

     e[j]:=4*a[i,j]*b[k,j];

     d[i,k]:=e[1]+e[2]+e[3]+c[i,k];

    end;

    for i:=1 to 3 do

    writeln ('     ',d[i,1]:3,' ',d[i,2]:3,' ');

readln;

end.

2. Использование технологии постепенного наращивания программы с одновременной отладкой.

1.  Схема алгоритма