
4. Порядок виконання лабораторної роботи
1. Записати програму обчислення евклідової норми вектора мовою Turbo Pascal і створити файл з кодом програми.
Програма
обчислення евклідової норми вектора
могла
б бути такою:
program lab7;
uses
crt, matr_alg;
var
a,b,at,bt,c:matrix;
x,y,z,z1,z2:vector;
n:size;
fin,fout:text;
begin
assign(fin,'lab7.in');
reset(fin);
assign(fout,'lab7.out');
rewrite(fout);
read(fin,n);
read_matrix(fin,a,n);
read_matrix(fin,b,n);
read_vector(fin,x,n);
read_vector(fin,y,n);
transp_matrix(b,n,bt);
mult_matrix(a,bt,n,c);
mult_matrix_vector(c,y,n,z1);
transp_matrix(a,n,at);
mult_matrix(at,b,n,c);
mult_matrix_vector(c,x,n,z2);
add_vector(z1,z2,n,z);
writeln(fout,' vector A*Bt*Y+At*B*X');
write_vector(fout,z,n,2);
writeln(fout, 'evklid_norma:', evklid_norma_vector(z,n):1:2);
close(fin);
close(fout);
end.
Як видно, основна програма складається з послідовності звернень до процедур та функцій. В цьому і полягає суть структурного програмування.
2. Створити файл вхідних даних. Для програми lab7 таким файлом є lab7.in:
4
1.23 2.12 2.56 3.12
1.27 1.34 5.67 -1.34
2.56 2.12 3.14 -2.45
1.23 2.56 -2.34 1.31
3.45 2.34 -1.24 5.34
3.12 -2.27 2.12 3.23
3.21 2.45 3.32 -4.56
2.23 -1.23 3.45 4.23
2.34 1.23 2.46 2.45
3.46 2.45 -5.67 -2.34
3. Виконати програму. Результат роботи програми – текстовий файл lab7.out:
vector A*Bt*Y+At*B*X
138.09 -78.56 -88.61 142.83
evklid_norma:231.29
4 Підготувати звіт про роботу
5. Варіанти завдань
Обчислити всі норми вектора:
1.
;
2.
;
3.
; 4.
;
5.
6.
7.
;
8.
;
9.
; 10.
;
11.
12.
13.
;
14.
;
15.
; 16
;
17.
18.
19.
20.
21.
;
22.
;
23.
; 24.
;
25.
6. Вправи
1. Яких значень набудуть змінні після виконання послідовності процедур введення програми
program test1;
uses matr_alg;
var
a:matrix;
x:vector;
n,i,j:size;
q,p:real;
ch:char;
ch1:string[10];
fin:text;
begin
assign(fin,'test1.in');
reset(fin);
read(fin,n,q,p);
readln(fin, ch,ch1);
read_vector(fin,a,n);
raed_matrix(fin,x);
. . . . . . . . . . . . . . . . .
end.
якщо в текстовому файлі test1.in записано:
3
4.5e-32 23.45
wdwg
2 4 5 4
5 3
5 6
5
3
2) Для більшої інформативності файл вхідних даних lab7.in записаний так
n=4
Матриця А
1.23 2.12 2.56 3.12
1.27 1.34 5.67 -1.34
2.56 2.12 3.14 -2.45
1.23 2.56 -2.34 1.31
Матриця B
3.45 2.34 -1.24 5.34
3.12 -2.27 2.12 3.23
3.21 2.45 3.32 -4.56
2.23 -1.23 3.45 4.23
Вектор X
2.34 1.23 2.46 2.45
Вектор Y
3.46 2.45 -5.67 -2.34
Переписати звернення до процедур введення в програмі lab7, так щоб правильно відбулося введення значень елементів матриць та векторів.