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

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

ВУЗ:
Ужгородський національний університет
Інститут:
Не вказано
Факультет:
Програмна Інженерія
Кафедра:
Не вказано

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

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

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

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД “УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ” Факультет інформаційних технологій Лабораторна робота №19 Лабораторна робота №19. Тема: Динамічний обмін даними. Мета: Вивчення особливостей динамічного розподілу пам'яті та методів роботи з пам'яттю, що динамічно розподілена. Вивчити питання: Розподіл пам'яті. Змінні типу вказівник. Динамічні дані. Класифікація динамічних структур даних. Організація списків. Однонапрямлений список. Двонапрямлений список. Організація черги. Робота зі стеком. Графи. Дерева. Завдання до роботи: У складі колективу розробників (підгрупи для виконання завдання формуються викладачем, який проводить лабораторні заняття) скласти програму на мові Pascal для реалізації виконання всіх можливих операцій над однією з динамічних структур даних: варіант 4 -бінарне дерево. Для зручності користування програмою побудувати меню з вибором операцій. Передбачити, що інші операції в меню недоступні, поки структура не створена. Оформити звіт про виконання роботи (формується всіма розробниками колективно) та завантажити його в системі електронного навчання ДВНЗ «УжНУ» в установлений термін. ХІД РОБОТИ uses crt; type PNode=^Node; Node=record data:integer; left,right:PNode; end; var Tree,p1:PNode; n,x,i:integer; ch:char; {addition of the element} procedure AddToTree (var Tree:PNode;x:integer); begin if Tree=nil then begin New(Tree); Tree^.data:=x; Tree^.left:=nil; Tree^.right:=nil; exit; end; if x < Tree^.data then AddToTree(Tree^.left,x) else AddToTree(Tree^.right,x); end; {Search in tree} function Search(Tree:PNode;x:integer):PNode; var p:PNode; begin if Tree=nil then begin Search:=nil; exit; end; if x=Tree^.data then p:=Tree else if x < Tree^.data then p:=Search(Tree^.left,x) else p:=Search(Tree^.right,x); Search:=p; end; {Bypass tree left-right } procedure Lkp(Tree:PNode); begin if Tree=nil then exit; Lkp(Tree^.left); write(' ',Tree^.data); Lkp(Tree^.right); end; {Delete tree} procedure DeleteTree(var Tree1:PNode ); begin if Tree1 <> nil then begin DeleteTree (Tree1^.LEFT); DeleteTree (Tree1^.RIGHT); Dispose(Tree1); end; end; {основная пограмма} begin Tree:=nil; repeat {Cycle menu} Writeln('Select action'); Textcolor(2); Writeln('Menu:'); Writeln('1) Create tree search'); Writeln('2) Serch element in tree'); Writeln('3) Output tree'); Writeln('4) Exit'); writeln; readln(ch); case ch of '1': begin writeln(' kilkist elementiv'); readln(n); for i:=1 to n do begin writeln('Enter number'); readln(x); AddToTree(Tree,x); end; end; '2': begin writeln('Element for search'); readln(x); p1:=Search(Tree,x); if p1 <> nil then writeln('Search') else writeln('No such element!'); end; '3': begin writeln('TREE'); Lkp(Tree); writeln; end; end; until ch='4'; DeleteTree(Tree); end. /// ВИСНОВОК За допомогою даної лабораторної роботи я вивчила особливості динамічного розподілу пам'яті та методи роботи з пам'яттю, що динамічно розподілена.
Антиботан аватар за замовчуванням

03.05.2018 21:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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