Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 5_2
з дисципліни
“Основи програмування ”
Тема: БАГАТОВИМІРНІ МАСИВИ (МАТРИЦІ)
Постановка задачі
Задані дійсні матриці Х [n x m] та Y [n x m], які містять від'ємні елементи. Нехай D [n] і Q [n] - суми модулів елементів рядків заданих матриць. Визначити добуток мінімальних значень цих сум для кожної матриці.
аналітичні викладки
Масив може бути одновимірним (вектором), та багатовимірним (наприклад, двовимірною таблицею), тобто таким, де індексом є не одне число, а кортеж (сукупність) з декількох чисел, кількість яких співпадає з розмірністю масива.
блок-схема алгоритму
текст програми.
program lab5_2;
uses crt;
const n=3; m=4; {rozmir matric}
type matr=array[1..n,1..m] of integer; {tipi matric}
vek=array[1..n] of integer; {tip promiznogo vektora}
var x:matr; y:matr;
i,j,miny,minx,dob:integer; dX,dY:vek; {ogoloshena globalnoi zminoi dla masiviv}
q:string; {flag povtoreniy programi}
{========================}
procedure input(var a:matr);
begin
for i:=1 to n do
begin
for j:=1 to m do
a[i,j]:=random(50)-25;
end;
end;
{=============================}
procedure output(a:matr; poz:byte);
begin
for i:=1 to n do
begin
GotoXY(poz,i+3);
for j:=1 to m do
write(a[i,j]:3,' ');
writeln;
end;
end;
{==============================}
procedure DZ(a:matr; var d:vek); {naxod min el}
var v:vek;
begin
for i:=1 to n do
begin
v[i]:=0;
for j:=1 to m do
v[i]:=v[i]+abs(a[i,j]); {cyma el. radka}
end;
for i:=1 to n do {vivedena sumi}
write(v[i],' '); write(' ');
d:=v;
end;
{==================================}
function min(v:vek):integer;
var minV:integer;
begin
minV:=v[1];
for i:=2 to n do
if v[i]<minV then {poshyk min el}
minV:=v[i];
min:=minV;
end;
{=================================}
begin
clrscr;
writeln ('Laboratorna robota 5_2');
writeln ('Variant 15');
writeln('vikonav Kononec German ip-02');
q:='yes'; {startovoe zna4enie vneshnego cikla}
while (q='yes') or (q='Y') or (q='y') do {yslovie}
begin
gotoxy(1,4);
input(x); {ctvorena matrici x}
writeln('x: ');
output(x,4); {vivedenya matrici x}
input(y); {ctvorena matrici y}
GotoXY(m*6+5,4);
writeln('y:');
output(y,m*6+7);writeln; {vivedena matrici Y}
dZ(x,dx);
dZ(y,DY); writeln;
writeln; write('min x= ',min(dx));
writeln; write('min y= ',min(dy)); {ob4iclena}
dob:=min(dX)*min(dY);writeln;
writeln('dobytok= ',dob);
gotoxy(1,n*4+n);
writeln('povtorit` program? (yes\no)'); {zapros na povtor programi}
readln(q); {vvidenie zna4enia cikla}
clrscr;
end;
end. {konec}
Відеокопія результату
/
Висновок
Виконуючі дану лабораторну роботу, я оволодів навичками роботи з багатовимірними масивами як структурованою даних. Також способами введення та виведення їх. Виконуючи цю роботу, я використовував раніше із учені методи програмування.
/