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

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

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

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет «Львівська політехніка»   РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ПРОЦЕДУР ТА ФУНКЦІЙ ЛАБОРАТОРНА РОБОТА № 3 З КУРСУ «АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ» для студентів спеціальності 6.0914 «Комп’ютеризовані системи, автоматика і управління» Львів 2008 ПОВНИЙ ТЕКСТ ЗАВДАННЯ 1. Вивчити правила опису та використання змінних-масивів в програмах, написаних алгоритмічною мовою Турбо-Паскаль. 2. Вивчити правила опису та виклику процедур і функцій в програмах, написаних алгоритмічною мовою Турбо-Паскаль. 3. Вивчити основні алгоритми сортування масивів. 4. Написати програму алгоритмічною мовою Турбо-Паскаль згідно з завданням, отриманим від викладача за табл. 1: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування оформити у вигляді процедури; обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Таблиця 1 № п/п Алгоритм впорядкування матриці Алгоритм для розрахунку fi(aij) та F(fi(aij)) Матриця  3 Впорядкувати елементи стовпців матриці за зростанням їх значень методом вибору fi(aij)-сума елементів у кожному рядку матриці; F(fi(aij))-середнє геометричне значення fi(aij)  2 0 33 -1 -21 78 7 -4 -3 11 -2 -7 -1 -9 0 13 61 60 42 -10 1 0 4 0 16   БЛОК-СХЕМА АЛГОРИТМУ ПРОГРАМИ ПРОЦЕДУРА ДЛЯ СОРТУВАННЯ МАТРИЦІ А – SORT_ARRAY : ФУНКЦІЯ ДЛЯ ПЕРЕВІРКИ ПРАВИЛЬНОСТІ УМОВИ – BOOL : ФУНКЦІЯ ДЛЯ ЗНАХОДЖЕННЯ СУМ РЯДІВ – SUMA : ФУНКЦІЯ ЗНАХОДЖЕННЯ СЕРЕДНЬОГО ГЕОМЕТРИЧНОГО ДЛЯ СУМ РЯДІВ – DOBUTOK : Так Ні СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР ТА ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ СПИСОК : N A B I J K P Z X S V Sort_Array Suma Dobutok ПОЯСНЕННЯ ІДЕНТИФІКАТОРІВ : N – розмірність матриці по рядках і стовпцях A – масив для сортування B – масив для зберігання значень сум рядків матриці I – лічильник : вказівник позиції елемента матриці J – лічильник : вказівник позиції елемента матриці K – вказівник позиції елемента для матриці A під час її сортування P – вказівник позиції елемента для матриці B під час запису значень сум рядків Z – вказівник позиції елемента матриці. X – змінна для тимчасового збереження значення елемента матриці A під час сортування елементів цієї матриці S – змінна для збереження значення суми елементів рядка відсортованої матриці V – змінна логічного типу для зберігання значення функції Bool, описаної у процедурі Sort_Array, перевірка умови Sort_Array – процедура сортування матриці A Suma – функція для сумування значень рядків відсортованої матриці і виведення значення суми на екран Dobutok – функція для знаходження середнього геометричного для сум рядків відсортованої матриці ОСТАТОЧНО ВІДЛАГОДЖЕНИЙ ТЕКСТ ПРОГРАМИ Program Lab_3; uses crt; const n=5; type a_matrix=array[1..n,1..n] of real; b_matrix=array[1..n] of real; var a:a_matrix; b:b_matrix; i,j,z,k,p:integer; x,s:real; v:boolean; procedure Sort_Array; function Bool:boolean; begin v:=a[j,z]<x; end; begin for z:=1 to n do begin for i:=1 to (n-1) do begin k:=i;x:=a[i,z];for j:=(i+1) to n do begin bool; if v=true then begin k:=j;x:=a[j,z];end;end; a[k,z]:=a[i,z]; a[i,z]:=x;end;end; end; Function Suma:real; begin s:=0; z:=1; p:=0; repeat for i:=1 to n do begin s:=s+a[z,i];end; p:=p+1;z:=z+1;writeln('Number ',p,' ',s:4:2);b[p]:=s;s:=0;until z>5; end; Function dobutok:integer; begin s:=1; for i:=1 to n do begin s:=s*b[i];end; if s>0 then s:=exp(1/i*ln(s)) else s:=-1*exp(1/i*ln(-1*s)); writeln(s:4:2); end; begin clrscr; writeln('Enter Matrix Elements :'); writeln; for i:=1 to n do for j:=1 to n do begin write('Enter Matrix Element ',i,j,' = ');read(a[i,j]);end; writeln; writeln('Matrix not Sorted :'); writeln; z:=1; repeat for i:=1 to n do write(' ',a[z,i]:4:2,' ');writeln;z:=z+1;until z>5; writeln; writeln('Matrix Elements Sorted :'); Sort_Array; writeln; z:=1; repeat for i:=1 to n do write(' ',a[z,i]:4:2,' ');writeln;z:=z+1;until z>5; writeln; writeln('Amount :'); writeln; suma; writeln; writeln('Middle Geometrical :'); writeln; dobutok; end. РЕЗУЛЬТАТИ ВИКОНАННЯ ПРОГРАМИ Enter Matrix Element 11 = 2 Enter Matrix Element 12 = 0 Enter Matrix Element 13 = 33 Enter Matrix Element 14 = -1 Enter Matrix Element 15 = -21 Enter Matrix Element 21 = 78 Enter Matrix Element 22 = 7 Enter Matrix Element 23 = -4 Enter Matrix Element 24 = -3 Enter Matrix Element 25 = 11 Enter Matrix Element 31 = -2 Enter Matrix Element 32 = -7 Enter Matrix Element 33 = -1 Enter Matrix Element 34 = -9 Enter Matrix Element 35 = 0 Enter Matrix Element 41 = 13 Enter Matrix Element 42 = 61 Enter Matrix Element 43 = 60 Enter Matrix Element 44 = 42 Enter Matrix Element 45 = -10 Enter Matrix Element 51 = 1 Enter Matrix Element 52 = 0 Enter Matrix Element 53 = 4 Enter Matrix Element 54 = 0 Enter Matrix Element 55 = 16 Matrix not Sorted : 2.00 0.00 33.00 -1.00 -21.00 78.00 7.00 -4.00 -3.00 11.00 -2.00 -7.00 -1.00 -9.00 0.00 13.00 61.00 60.00 42.00 -10.00 1.00 0.00 4.00 0.00 16.00 Matrix Elements Sorted : -2.00 -7.00 -4.00 -9.00 -21.00 1.00 0.00 -1.00 -3.00 -10.00 2.00 0.00 4.00 -1.00 0.00 13.00 7.00 33.00 0.00 11.00 78.00 61.00 60.00 42.00 16.00 Amount : Number 1 -43.00 Number 2 -13.00 Number 3 5.00 Number 4 64.00 Number 5 257.00 Middle Geometrical : 34.08
Антиботан аватар за замовчуванням

15.05.2012 23:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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