DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Динамічні об’єкти складної структури. Таблиці, бінарні дерева

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

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

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

Рік:
2016
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування
Група:
КН-11
Коротко про документ

Про що ця робота

Звіт до лабораторної роботи присвячено вивченню динамічних об'єктів складної структури, зокрема бінарних дерев. У роботі реалізовано алгоритм побудови дерева для оператора умови мовою програмування.

У роботі розглядаються

  • Динамічні структури даних
  • Бінарні дерева
  • Алгоритмізація та програмування
  • Таблиці
  • Оператори умов
  • Мова Pascal

Зміст і розділи

  1. Мета роботи
  2. Лабораторне завдання
  3. Код програми
  4. Результати обчислень
  5. Висновок
Для кого:Студенти технічних спеціальностей та вивчаючі програмування
Викладачі:Викладач

Ключові поняття

бінарне дереводинамічний об’єктвказівникдеревопрограмуванняалгоритмвузолструктура даних

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

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР ДИНАМІЧНІ ОБ’ЄКТИ СКЛАДНОЇ СТРУКТУРИ. ТАБЛИЦІ, БІНАРНІ ДЕРЕВА ЗВІТ до лабораторної роботи № 14 з курсу: “Алгоритмізація та програмування” 1. МЕТА РОБОТИ Мета роботи – ознайомитись із особливостями побудови та застосування динамічних об’єктів складної структури: таблиць і бінарних дерев; з операціями, які виконуються над елементами цих об’єктів. Набути практичних навичок програмування з використанням динамічних об’єктів складної структури зокрема бінарних дерева. 2. ЛАБОРАТОРНЕ ЗАВДАННЯ Програма №1, Варіант №7 Відобразити за допомогою дерева оператор умови: IF <умова> THEN <оператор> ELSE <оператор>; Вивести на друк проміжний результат та результат після видалення гілки ELSE. Блок-схема: / Код програми: program if_tree; uses crt; type tree = ^point; point = record key:string; left:tree; right:tree; entry:string end; function find_tree(kl:string; var tr, rez:tree):boolean; var p, q:tree; b:boolean; begin b:=false; p:=tr; if tr<>nil then repeat q:=p; if p^.key = kl then b:= true else begin q:=p; if kl<p^.key then p:=p^.left else p:=p^.right; end until b or (p=nil); find_tree:=b; rez:=q; end; procedure ins_tree(kl:string; var tr:tree; ent:string); var r, s:tree; begin if not find_tree(kl, tr, r) then begin new(s); s^.key:=kl; s^.entry:=ent; s^.left:=nil; s^.right:=nil; if tr = nil then tr:=s else if kl<r^.key then r^.left:=s else r^.right:=s end end; procedure del_tree(var tr:tree; kl:string); var q:tree; procedure del(var r:tree); begin if r^.right = nil then begin q^.key:=r^.key; q^.entry:=r^.entry; q:=r; r:=r^.left; end else del(r^.right); end; begin if tr = nil then writeln('Нема елемента з таким ключем') else if kl < tr^.key then del_tree(tr^.left, kl) else if kl > tr^.key then del_tree(tr^.right, kl) else begin q:=tr; if q^.right = nil then tr:=tr^.left else if q^.left = nil then tr:=tr^.right else del(q^.left); end end; const k1 = 'if'; k2 = 'then'; k3 = 'else'; var d:tree; s1, s2, s3:string; begin d:=nil; writeln('Введiть умову IF'); readln(s1); writeln('Введiть оператор пiсля THEN'); readln(s2); writeln('Введiть оператор пiсля ELSE'); readln(s3); ins_tree(k1, d, s1); ins_tree(k2, d, s2); ins_tree(k3, d, s3); writeln('Отримане дерево'); writeln(' ',d^.key); writeln(' ',d^.entry); writeln(' ', '/', ' ', '\'); writeln(' ', d^.left^.key, ' ', d^.right^.key); writeln(' ', d^.left^.entry, ' ', d^.right^.entry); del_tree(d, k3); writeln('Нове дерево'); writeln(' ',d^.key); writeln(' ',d^.entry); writeln(' ', '\'); writeln(' ', d^.right^.key); writeln(' ', d^.right^.entry); end. Результати обчислень: / 3. ВИСНОВОК В ході виконання цієї лабораторної роботи я ознайомився із особливостями побудови та застосування динамічних об’єктів складної структури: таблиць і бінарних дерев; з операціями, які виконуються над елементами цих об’єктів, набув практичних навичок програмування з використанням динамічних об’єктів складної структури зокрема бінарних дерева.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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