Модуль unit modul; interface const n=3; type mtr=array[1..n,1..n] of integer; vec=array[1..n] of integer; procedure umn_mtr(a,b:mtr;var c:mtr); procedure umn_mtr_vec(a:mtr;b:vec;var c:vec); function umn_vec(a,b:vec):integer; implementation procedure umn_mtr; var i,j,k:byte; begin for i:=1 to n do for j:=1 to n do begin c[i,j]:=0; for k:=1 to n do c[i,j]:=c[i,j]+a[i,k]*b[k,j] end end; procedure umn_mtr_vec; var i,j:byte; begin for i:=1 to n do begin c[i]:=0; for j:=1 to n do c[i]:=c[i]+a[i,j]*b[j] end end; function umn_vec; var s:integer; i:byte; begin s:=0; for i:=1 to n do s:=s+a[i]*b[i]; umn_vec:=s end; end. программа uses crt,modul; var a,b,ab:mtr; c,d,ac:vec; i,j:byte; begin clrscr; randomize; writeln('Матрица A:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=1+random(10); write(a[i,j]:4) end; writeln end; writeln('Матрица B:'); for i:=1 to n do begin for j:=1 to n do begin b[i,j]:=1+random(10); write(b[i,j]:4) end; writeln end; umn_mtr(a,b,ab); writeln('Матрица A*B:'); for i:=1 to n do begin for j:=1 to n do write(ab[i,j]:4); writeln end; writeln('Вектор C:'); for i:=1 to n do begin c[i]:=1+random(10); write(c[i]:4); end; writeln; umn_mtr_vec(a,c,ac); writeln('Вектор A*C:'); for i:=1 to n do write(ac[i]:4); writeln; writeln('Вектор D:'); for i:=1 to n do begin d[i]:=1+random(10); write(d[i]:4); end; writeln; writeln('Произведение C*D=',umn_vec(c,d)); readln end.