Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab7.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
292.35 Кб
Скачать

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

  1. 5 6

  2. 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, так щоб правильно відбулося введення значень елементів матриць та векторів.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]