Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Лабораторна робота №12

РефератДопомога в написанніДізнатися вартістьмоєї роботи

End; begin{lab12} clrscr; writeln («Запровадьте розміри матриць X, Y: «);read (t); writeln («Запровадьте «, t*t, «елемента кожної матриці: «); writeln («Запровадьте матрицю X: «);vvod (t, X); writeln («Запровадьте матрицю Y: «);vvod (t, Y); writeln («Результат спорудження матриці XX ст квадрат: «); Umn (X, X, t, A); Echo (t, A); writeln («Результат спорудження матриці Y в квадрат: «); Umn (Y, Y… Читати ще >

Лабораторна робота №12 (реферат, курсова, диплом, контрольна)

Цель роботи: Вивчення правил описи і виклику підпрограм: процедур і функцій. Одержання навичок оволодіння прийомами роботи над подпрограммами. Завдання№ 17. Вважати суму елементів лежачих вище головною діагоналі матриці для матриці Z=X2+Y2.

Програма на Turbo Pascal {Програма: Kyrsaсh.

} {Мета: Знайти суму елементів вище головною діагоналі } {Переменные:

} { X, Y — запроваджувані массивы.

} { N, M, A, B, Z — проміжні масиви } { t — Розмір массива.

} { і, j — перемінні цикла.

} {Програміст: Позднышев А. А. група 316 } {Перевірив: Новачків В.С.

} Program Lab12; uses crt; Const Nmax=10; {Максимальний розмір масиву} Type Matrics=array[1.Nmax, 1. Nmax] of integer; Masiv=array[1.Nmax] of integer; Var X, Y, Z, A, B:matrics; M, N: masiv; i, j, t:integer; {Процедура введення елементів масиву} {Параметри: t — розмір масиву, X — масив} Procedure Vvod (t:integer; Var X: matrics);

Var i, j: integer; Begin{Vvod}.

For i:=1 to t do.

For j:=1 to t do.

Begin {Введення элементов}.

Write («[ «,і, «, «, j, «]= «);

Read (X[i, j]);

End; {Введення элементов}.

For i:=1 to t do.

Begin {Висновок элементов}.

For j:=1 to t do.

Write (X[i, j]: 5);

Writeln.

End {Висновок елементів} End;{Vvod} {Процедура виведення элеменов матриць} {Параметри: X, Y — матриці, t — розмір} Procedure Echo (t:integer; X: matrics); var i, j: byte; begin {Echo}.

For i:=1 to t do.

Begin.

For j:=1 to t do.

Write (X[i, j]: 5);

Writeln.

End end; {Echo} {Процедура множення матриць} {Параметри: X, Y — початкові масиви, Z — масив результат, t — розмір} Procedure Umn (X, Y: matrics; t: integer; Var Z: matrics); var i, j, k, s: integer; begin {Umno} for i:=1 to t do for j:=1 to t do begin.

S:=0; for k:=1 to t do s:=s+X[k, i]*Y[j, k];

Z[i, j]: =s; end; end; {Umno} {Процедура складання масивів} {Параметри: X, Y — початкові масиви, Z — масив результат, t — розмір} Procedure Summa (X, Y: matrics; t: integer; Var Z: matrics); var i, j: integer; begin {Summa} for i:=1 to t do for j:=1 to t do.

Z[i, j]: =X[i, j]+Y[i, j] end; {Summa} {Процедура перебування суми нижче головною діагоналі} {Параметри: X — початкові масиви, Y — масив результат, t — розмір} Procedure Under (X:matrics; t: integer; Var Y: masiv); var s: real;

Begin.

P.S := 0;

For і := 2 to t do.

For j := 1 to i-1 do.

S:=S + X[i, j];

WriteLn («Сума елементів, лежачих нижче головною діагоналі= «, S:5:1);

End; {Процедура перебування суми вище головною діагоналі} {Параметри: X — початкові масиви, Y — масив результат, t — розмір} Procedure Over (X:matrics; t: integer; Var Y: masiv); var s: real;

Begin.

P.S := 0;

For і := 1 to t-1 do.

For j := i+1 to t do.

P.S := P. S + X[i, j];

WriteLn («Сума елементів, лежачих вище головною діагоналі= «, S:5:1);

ReadLn.

End; begin{lab12} clrscr; writeln («Запровадьте розміри матриць X, Y: »);read (t); writeln («Запровадьте », t*t, «елемента кожної матриці: »); writeln («Запровадьте матрицю X: »);vvod (t, X); writeln («Запровадьте матрицю Y: »);vvod (t, Y); writeln («Результат спорудження матриці XX ст квадрат: »); Umn (X, X, t, A); Echo (t, A); writeln («Результат спорудження матриці Y в квадрат: »); Umn (Y, Y, t, B); Echo (t, B); writeln («Отриманий масив після перетворень: »); summa (A, B, t, Z); Echo (t, Z); under (Z, t, M); over (Z, t, N); end.{lab12}.

Блок-схема Проведём деталізацію в послідовності, обумовленою нумерацією блоків на рис. 1.

1. Введення розмірів матриць X, Y. У цьому блоці визначено введення розмірів квадратних матриць X, Y (t — розмір матриць). |Ім'я підпрограми: VVOD | | |Вхідні параметри: | | |кількість елементів t*t | | | I=1(1)t | | | | J=1(1)t | | | | |Введення елементів | | |Вихідні параметри: X — | | |матриця розміром t*t. | |.

Рис. 11. Деталізація блоку 2 схеми алгоритма.

|Ім'я підпрограми UMN | |Вхідні параметри: X, Y — | |матриці розміром t*t | | |I=1(1)t | | | | | | J=1(1)t | | | |S=0 | | | | K=1(1)t | | | | |S=S+X[i, k]*Y[k, j] | | | |C[i, j]=S | |Вихідні параметри: матриця | |Z розміром t*t | |Рис. 13. Деталізація блоку 4| |схеми алгоритму |.

2. Введення елементів можна відповідної підпрограмою, структурограмма якої приведено на рис. 11. Усього має бути виведено t*t значень кожному за массива.

3. Печатка елементів матриць X, Y (і навіть отладочная печатку). У цьому блоці определёна печатку значень елементів квадратних матриць X, Y розміром t*t.

4. Множення матриць зручно уявити наступній підпрограмою, структурограмма якої приведено малюнку 13.

5. Складання матриці X і матриці Y представлено як підпрограми на рис. 15.

6. Підпрограми формування вектора з сум елементів вищою, і нижче головною діагоналі представлена структурограммой малюнку 16 і 17.

|Имя підпрограми OVER | |Вхідні параметри: X — | |матриця, розміром t*t | | |S=0 | | |I=1(1)t-1 | | | |J=i+1(1)t | | | | S=S+X[i, j] | | | |Вихідні параметри: | | | |Y — матриця розміром t. | |Рис. 16. Деталізація блоку 8| |схеми алгоритму | |Ім'я підпрограми: SUMMA | |Вхідні параметри: X, Y — | |матриці, розміром t*t | | I=1(1)t | | | J=1(1)t | | | |Z[i, j]=X[i, j]+Y[i, j]| |Вихідні параметри: Z — | |матриця розміром t*t. | |Рис. 15. Деталізація блоку| |7 схеми алгоритму |.

После кожної підпрограми виробляється отладочная печатку, представлена окремої підпрограмою, структурограмма якої зображено на рис. 18.

|Имя підпрограми UNDER | |Вхідні параметри: X — | |матриця, розміром t*t | | |S=0 | | |I=2(1)t | | | |J=1(1)i-1 | | | | S=S+X[i, j] | | | |Вихідні параметри: | | | |Y — матриця розміром t. | |Рис. 17. Деталізація блоку 8| |схеми алгоритму |.

|Имя підпрограми: Echo | |Вхідні параметри: X — | |матриця, розміром t*t | | I=1(1)t | | | J=1(1)t | | | |Висновок елементів | |Вихідні параметри: Y — | |матриця розміром t*t. | |Рис. 18. Деталізація | |підпрограми виведення элементов|.

———————————;

Конец.

Вектор з сум елементів вищою, і нижче диагонали.

Z=A+B.

B=Y*Y.

A=X*X.

Введення элементов.

Печатка елементів X, Y.

Введення размера.

Начало.

Показати весь текст
Заповнити форму поточною роботою