Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № __
з дисципліни
“Основи програмування та алгоритмічні мови”
Тема:_____________________________________________
Постановка задачi:
Задані дві дійсні квадратні матриці розмірності n. Отримати нову матрицю додаванням до елементів кожного стовпця першої матриці добутка елементів відповідних рядків другої матриці.
Аналiтичнi викладки:
Матриця – двовимірний масив. Для підрахунку добутків елементів відповідних рядків можна використати одновимірний масив, з якого потім брати значення для сумування їх з елементами стовпця першої матриці.
Блок-схема:
Текст програми:
program lab05_2;
uses crt;
const n=5;
type mas=array[1..n,1..n] of integer; {матриці}
vect=array[1..n] of integer; {тип для рядка}
var A,B,C :mas; {матриці}
i,j :integer; {лічильники}
procedure CreateMas(var masiv :mas); {створення масиву}
begin;
for i:=1 to n do
for j:=1 to n do
masiv[i,j]:=random(9)+1;
end;
procedure VivodMas(const masiv :mas); {виведення масиву}
begin;
for i:=1 to n do
begin;
for j:=1 to n do write(masiv[i,j]:5);
writeln;
end;
end;
procedure SumEl(const masiv1,masiv2 :mas; var masiv3 :mas); (пошук сумм елементів}
var vector :vect;
procedure create_vect(const masiv:mas; var riad:vect);
begin;
for i:=1 to n do riad[i]:=1;
for i:=1 to n do
begin;
for j:=1 to n do
riad[j]:=masiv[j,i]*riad[j];
end;
end;
begin;
Create_vect(masiv2, vector);
writeln('dobutki el riadkiv masiva B');
for i:=1 to n do write(vector[i]:6);
writeln;
for i:=1 to n do
begin;
for j:=1 to n do
masiv3[i,j]:=masiv1[i,j]+vector[j];
end;
end;
{---BODY---}
begin;
randomize;
textcolor(yellow);
textbackground(blue);
repeat
clrscr;
CreateMas(A);
CreateMas(B);
writeln('masiv A');
VivodMas(A);
readln;
writeln('masiv B');
VivodMas(B);
SumEl(A,B,C);
writeln('masiv C');
VivodMas(C);
readln;
writeln('press ''Esc'' to exit');
until ord(readkey)=27;
End.Скриншот:
Висновок: программа працює правильно, при підставлянні довільних значень видає вірний результат.
При створенні у екселі масивів з такими ж самими числами і обчисленнях по формулах, вказаних у завданні отримали такий самий результат: