Робота з масивами. Використання процедур та функцій

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2006
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови і програмування
Група:
ІБ
Варіант:
12

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА кафедра „ЗАХИСТ ІНФОРМАЦІЇ” ЗВІТ до лабораторної роботи №3 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” на тему: „Робота з масивами. Використання процедур та функцій” Варіант № 12 Виконав: студент групи ІБ – 1 Львів – 2006 2. ПОВНИЙ ТЕКСТ ЗАВДАННЯ Написати програму алгоритмічною мовою Турбо-Паскаль для впорядкування елементів стовпців матриці за спаданням їх значень методом обміну. 0 2 -2 89 21 -1 -4 36 41 71 56 93 51 -2 -51 1 3 -8 0 9 23 41 5 8 -2 Для відсортованої матриці знайти значення функції fi(aij) – середнє геометричне значення елементів в кожному рядку над головною діагоналлю матриці та F(fi(aij)) – сума fi(aij). Обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). 3. ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ Блок-схема функції sGom(i) Блок-схема підпрограми PrintMas Блок-схема підпрограми Sort 4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР І ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ n – константа розмірності матриці; aij – прямокутний масив змінних типу integer розмірністю n•n для зберігання введених даних та результату роботи програми; r, s – змінні типу byte для зберігання проміжних даних; sum – змінна типу real для зберігання суми середніх геометричних значень рядків над головною діагоналлю; j, k, i, x, dob, sg – змінні для зберігання проміжних значень у процедурах та функціях; clrscr – процедура очистки екрана яка об’явлена в модулі crt; readkey – процедура яка очікує натискання будь-якої клавіші; Sort, PrintMas – користувацькі процедури відповідно для впорядкування масиву та виведення значень елементів масиву на екран; sGeom(x) – користувацька функція яка повертає середнє геометричне значення елементів масиву х-го рядка які знаходяться над головною діагоналлю; writeln – процедура виведення текстових повідомлень і значень змінних на екран; readln – процедура яка зчитує дані з клавіатури та присвоює відповідне значення змінній; exp(x) – функція яка обчислює експоненту числа; ln(x) – функція для обчислення натурального логарифму числа x; cos(x) – функція знаходження косинуса кута x заданого в радіанах; abs(x) – функція яка повертає значення модуля змінної x. mod – операція для знаходження остачі від ділення. 5. ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ program SortMas; uses crt; const n=5; type mas=array [1..n,1..n] of integer; var a:mas; r,s:byte; sum:real; {=============================================} function sGeom(i:byte):real; var j:byte; dob,sg:real; begin dob:=1; for j:=i+1 to n do dob:=dob*a[i,j]; sg:=exp(1/(n-i)*ln(abs(dob))); if (dob<0) and ((n-i) mod 2=1) then sg:=-sg; sum:=sum+sg; sGeom:=sg; end; {=============================================} procedure PrintMas; var i,j:byte; begin for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end; {=============================================} procedure Sort; var x:integer; k,i,j:byte; begin for k:=1 to n do for i:=2 to n do for j:=n downto i do if a[j,k]>a[j-1,k] then begin x:=a[j-1,k]; a[j-1,k]:=a[j,k]; a[j,k]:=x; end; end; {=============================================} begin clrscr; writeln('Vvedit matrix A (rozmir ',n,'x',n,'):'); for r:=1 to n do for s:=1 to n do begin write('a[',r,',',s,']:= '); readln(a[r,s]); end; writeln; Writeln('Vvedeno matrix A:'); PrintMas; Sort; writeln('Rezultatu robotu programu, Matrix A:'); writeln; PrintMas; sum:=0; for r:=1 to n-1 do writeln('Seredne geom radka ',r,':',sGeom(r):3:2); writeln; writeln('Suma = ',Sum:3:2); readkey; end. 6. РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ Vvedit matrix A (rozmir 5x5): a[1,1]:= 0 a[1,2]:= 2 a[1,3]:= -2 a[1,4]:= 89 a[1,5]:= 21 a[2,1]:= -1 a[2,2]:= -4 a[2,3]:= 36 a[2,4]:= 41 a[2,5]:= 71 a[3,1]:= 56 a[3,2]:= 93 a[3,3]:= 51 a[3,4]:= -2 a[3,5]:= -51 a[4,1]:= 1 a[4,2]:= 3 a[4,3]:= -8 a[4,4]:= 0 a[4,5]:= 9 a[5,1]:= 23 a[5,2]:= 41 a[5,3]:= 5 a[5,4]:= 8 a[5,5]:= -2 Vvedeno matrix A: 0 2 -2 89 21 -1 -4 36 41 71 56 93 51 -2 -51 1 3 -8 0 9 23 41 5 8 -2 Rezultatu robotu programu, Matrix A: 56 93 51 89 71 23 41 36 41 21 1 3 5 8 9 0 2 -2 0 -2 -1 -4 -8 -2 -51 Seredne geom radka 1:73.99 Seredne geom radka 2:31.41 Seredne geom radka 3:8.49 Seredne geom radka 4:-2.00 Suma = 111.89
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!