Практична
робота «ДИНАМІЧНИЙ МАСИВ»
1. Записати
алгоритм мовою Pascal, який знаходить
суму чисел елементів квадратного масиву розмірами: а)4х4; б)3х3; в)5х5, г)6х6, що
знаходяться на головній та бічній діагоналях. Масиву задати випадкові дійсні числа.
program Matriza; {оголошується назва програми}
const m=4; {оголошується постійні
величини, назва і значення константи m=4}
n=4; {це постійна величина, назва і значення константи n =4}
var sum, f, s: real; {оголошуються змінні
величини, тип змінних sum, f, s: – це дійсні числа}
b:
array[1..m*n] of real; {змінний лінійний
масив
b з дійсними змінними – це рядок
чисел}
a:
array[1..m,1..n] of real; {змінний прямокутн. масив а з дійсними числами – це таблиця чисел}
i,
j, p, k: integer; {змінні
цілі величини i, j, p,
k – це таблиця чисел}
begin {оголошується
розділ введення даних в програму}
writeln('massiv: '); {повідомляється
на екрані про введення випадкових чисел в масив}
for i:=1 to m do begin {оголошується
цикл з лічильником по кількості рядків в
масиві}
for j:=1 to n do begin {оголошується цикл з лічильником по кількості
стовпців в масиві}
a[i,j]:=int(random*20-10); {оголошується присвоєння
елементам прямокутн масиву випадк. числа}
b[(i-1)*n+j]:=a[i,j]; {оголошується присвоєння елементам лінійного масиву випадк.
числа}
end; {оголошується кінець
внутрішнього циклу елементам стовпця масиву чисел}
writeln(' '); {оголошується пробіл
між елементами стовпця масиву чисел}
writeln(' '); {оголошується пробіл між елементами стовпця масиву чисел}
end; {оголошується кінець зовнішнього циклу елементам стовпця
масиву чисел}
writeln('
'); {оголошується пробіл
між елементами стовпця масиву чисел}
writeln('
'); {оголошується пробіл між елементами стовпця масиву чисел}
for i:=1 to
m do begin
{оголошується
цикл з лічильником по кількості рядків в
масиві}
for j:=1 to
n do begin {оголошується
цикл з лічильником по кількості стовпців в масиві}
write(' a[ ', i, '; ', j, ' ]:= ', a[i,j] {' b[', i-1*n+j, ']= ', b[(i-1)*n+j]}); {Виводимо на
екран весь масив а}
end; {оголошується кінець
внутрішнього циклу елементам стовпця масиву чисел}
writeln(' '); {оголошується пробіл
між елементами стовпця масиву чисел}
writeln(' '); {оголошується пробіл між елементами стовпця масиву чисел}
end; {оголошується
кінець зовнішнього циклу елементам стовпця масиву чисел}
s:=0;
{занулюється
сума діагональних елементів масиву чисел}
for i:=1 to n do {оголошується
цикл з лічильником по головній діагоналі в масиві}
begin
s:=s+a[i,i]; {у циклі виконується
сумування елементів головної діагоналі масиву чисел}
end;
f:=0; {занулюється сума елементів бічної діагоналі масиву чисел}
for i:=1 to n do {оголошується
цикл з лічильником по бічній діагоналі в масиві}
begin
f:=f+a[i,n+1-i]; {у циклі виконується
сумування елементів бічної діагоналі масиву чисел}
end;
if n mod 2 =1 then {розгалуження на
два випадки для непарного і парного розміру
масиву}
sum:=s+f-
a[n div 2 +1, n div 2 +1] {оголошується сумування елементів двох діагоналей масиву}
else {галуження на випадок для парного розміру масиву чисел}
sum:=s+f;
{оголошується сумування
елементів двох діагоналей масиву}
writeln(' ');
writeln('suma головної
diagonaley= ', s); writeln(' '); {на екран сума ел-тів голов. діагоналі масиву}
writeln(' ');
writeln('suma бічної
diagonaley= ', f); writeln(' '); {на екран сума
ел-тів бічн. діагоналі масиву}
writeln('suma обох
diagonaley= ', sum); {на екран сума ел-тів
обох діагоналі масиву}
end.
Немає коментарів:
Дописати коментар