Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 5_2
з дисципліни
“Основи програмування та алгоритмічні мови”
Тема: Багатовимірні масиви (матриці)
Постановка задачі
Для заданих дійсних квадратних матриць A [n x n] та B [n x n] визначити середнє арифметичне їх М-норм, які обчислюються за формулою
Текст програми з коментарями
uses crt; {biblioteka}
const n=5; {razmernostb massivov n*n}
rand=100; {diapozon randomnix chisel}
type mas=array[1..n,1..n]of real; {tip dvumernix matric dlya procedur}
var a,b:mas; {zadannie matrici po usloviy}
il,ik:integer; {zapominaut pozicii I stroki s max_M_normoy}
k,l:real; {max_M_normu dlya matric A i B sootvetstvenno}
procedure vvod(var m:mas); (*zapolnyaem massiv*)
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
m[i,j]:=random*2*rand-rand;
end;
function summa(m:mas; p:integer):real; (*vichislyaem M_normi Itoy stroki*)
var s:real; {s-summa}
j:integer;
begin
s:=0;
for j:=1 to n do
s:=s+abs(m[p,j]);
summa:=s;
end;
procedure norma(m:mas; var index_max:integer; var max:real);
{m-massiv; ir=ik/il-poziciy I stroki; r=k/l-Max M_normu}
var c:array [1..n] of real; {c-massiv M_norm}
i:integer;
begin
for i:=1 to n do
c[i]:=summa(m,i);
index_max:=n;
max:=c[1];
for i:=1 to n do
if c[i]>max
then
begin
max:=c[i];
index_max:=i;
end;
end;
procedure vivod(m:mas;index_max:integer); (*vivodim massiv*)
var i,j:integer;
begin
for i:=1 to n do
begin
if index_max=i
then textcolor(7);
for j:=1 to n do
write(m[i,j]:7:2);
writeln;
textcolor(white);
end;
end;
BEGIN
repeat
clrscr;
writeln('Result of laboratory work 5_2');
writeln('variant 4');
writeln('Executed student of group IP-02 Bondur Vladislav');
randomize;
vvod(a);
vvod(b);
norma(a,ik,k);
norma(b,il,l);
writeln('dlya matric "a" i "b"');
writeln('gde matrica "a" imeet vid:');
vivod(a,ik);
writeln('i matrica "b":');
vivod(b,il);
write('polychaem crednee arifmeticheskoe ix M-norm = ');
textcolor(red);
writeln((k+l)/2:10:3);
textcolor(white);
writeln('dlya vixoda nagmite Esc')
until ord(readkey)=27
END.
Блок-схема алгоритму
Результат виконання програми у вигляді відеокопії екрана
/
Висновки
Перевіримо, чи правильно працює моя програма:
Після ряду обчислень отримуємо наступні М-норми:
1 матриця: 258.74; 380.23; 148.46; 274.55; 170.17.
2 матриця: 283,58; 230,54; 324,47; 259,29; 216,67
Отже, в масиві А найбільша М-норма другої строки і дорівнює 380,23, а в масиві В: 3 строчка 324,47
Їх середнє арифметичне дорівнює 352,35
Як бачимо, результат програми співпав з результатами моїх обчислень.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!