· Подпрограмма транспонирования
· Подпрограмма суммы
· Подпрограмма ввода из файла размеров и элементов матрицы
2. Текст программы на языке Turbo Pascal
Program RGZ2_1b;
uses crt;
{описание массивов и переменных}
type
mas=array[1..10,1..10] of real;
var
a,b,c,bt,d,g,e:mas;
i,j,i2,j2,i3,j3,m,n:integer;
f:text;
{описание процедуры mout}
procedure mout (a:mas; i,j:integer);
var
m,n:integer;
begin
for m:=1 to i do
begin
for n:=1 to j do write(a[m,n]:5:0);
writeln;
end;
end;
{описание процедуры транспонирования (tr)}
procedure tr (p:mas; i2,j2:integer; var q:mas);
var
m,n:integer;
begin
for m:=1 to i2 do
for n:=1 to j2 do q[n,m]:=p[m,n]
end;
{описание процедуры умножения (mult)}
procedure mult(p,q:mas; i,j,i2:integer;var z:mas);
var
m,n,k:integer;
sum:real;
begin
for m:=1 to i2 do
for k:=1 to i do
begin
sum:=0;
for n:=1 to j do
sum:=4*p[k,n]*q[n,m]+sum;
z[k,m]:=sum
end;
end;
{описание функции суммы (sum)}
function sum(q,p:mas; i3,j3:integer; var w:mas): real;
var m,n:integer;
begin
for m:=1 to i3 do
for n:=1 to j3 do
w[m,n]:=q[m,n]+p[m,n];
end;
begin
{очистка экрана}
clrscr;
{ввод из файла размеров и элементов матрици A}
assign (f,'C:\tp\matrA.inp');
reset(f);
read(f,i,j);
for m:=1 to i do
for n:=1 to j do read (f,a[m,n]);
close(f);
{ввод из файла размеров и элементов матрици B}
assign (f,'C:\tp\matrB.inp');
reset(f);
read(f,i2,j2);
for m:=1 to i2 do
for n:=1 to j2 do read (f,b[m,n]);
close(f);
{ввод из файла размеров и элементов матрици C}
assign (f,'C:\tp\matrC.inp');
reset(f);
read(f,i3,j3);
for m:=1 to i3 do
for n:=1 to j3 do read (f,c[m,n]);
close(f);
{вывод матрици A}
writeln(' матрица A');
mout(a,i,j);
{вывод матрици B}
writeln(' матрица B');
mout(b,i2,j2);
{вывод матрици C}
writeln(' матрица C');
mout(c,i3,j3);
{транспонирование и вывод матрици B}
tr(b,i2,j2,bt);
writeln(' B транспонированная');
mout(bt,j2,i2);
{умножение матрици A на B транспонированную}
mult(a,bt,i,j,i2,g);
writeln(' 4*A умноженная на B транспонированную');
mout(g,j2,i2);
{A*B трансп. +С)}
sum(g,c,i3,j3,e);
writeln(' 4*A*B трансп. +C');
mout(e,i3,j3);
readln;
end.
Анализ результатов расчета
В результате написания программы получаем следуюший результат:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.