- •1.Технологія створення прикладної програми.
- •2.Алгоритм. Властивості алгоритмів. Форми подання алгоритмів.
- •3.Базові структури алгоритмів. Лінійні, розгалужені та циклічні. Способи представлення алгоритмів.
- •4.Основні поняття та елементи мови pascal: Алфавіт мови. Типи даних. Арифметичні та логічні вирази.
- •5.Стандартні функції. Структура програми. Введення, виведення інформації.
- •6.Оператор присвоєння. Директиви розділу опису програми.
- •7.Системи програмування. Інструментальна система програмування turbo pascal. Створення редагування та виконання програм на еом.
- •10.Програма розгалужених типів. Оператор case…of.
- •11.Оператори для запису циклічних алгоритмів: while, repeat…until, For..
- •8.Програмування лінійних алгоритмів. Опис даних різних типів. Організація введення та виведення даних стандартних типів.
- •9.Програмування розгалужених алгоритмів. Оператори goto…, if…, then… else…
- •12.Програмування циклічних алгоритмів. Ітераційні цикли. Вкладені цикли.
- •13.Структурні типи даних. Одновимірні, двовимірні масиви.
- •14.Опис нестандартних простих типів даних: інтервального та перелічуваного, структурних типів даних. Рядки. Типізовані сталі. Підпрограми для опрацювання рядків.
- •15.Структурний підхід до розробки прикладних програм. Підпрограми. Процедури і функції.
- •16.Рекурсія. Фактичні та формальні параметри. Глобальні та локальні змінні.
- •17.Записи. Програмування задач з даними типу Record.
- •18.Організація масивів із записів.
- •19.Файлова система на pascal, Процедури для роботи з файлами.
- •20.Створення та читання файлу. Модуль system. Програмування задач з використанням файлів.
- •21.Поняття множини. Операції над множинами. Організація множин.
- •22.Поняття модуля. Бібліотека стандартних модулів. Структура модуля.
- •23.Керування екраном, клавіатурою звуком. Модуль crt. Основні процедури та функції.
- •24.Графічні засоби turbo pascal. Модуль graph. Ініціалізація графічного режиму. Основні процедури та функції.
- •25.Вказівний тип. Створення динамічних об’єктів. Операції над змінними вказівного типу та покажчиками. Знищення динамічних об’єктів.
- •26.Організація динамічних структур даних. Динамічні рядки символів. Дії з динамічними рядками. Списки. Алгоритм введення, вилучення та пошуку елементів.
- •27.Організація динамічних структур даних. Двонапрямлені списки. Циклічні списки.
- •28.Поняття черги і стека. Алгоритм введення та вилучення елементів.
- •29.Графи і дерева.
- •30.Технології програмування.
27.Організація динамічних структур даних. Двонапрямлені списки. Циклічні списки.
Динамічні структури – структури даних, розмір яких (об’єм пам’яті, що вони займають) може змінюватись у процесі виконання програми. Для організації динамічних структур використовуються динамічні змінні, які створюються та знищуються в процесі виконання програми. Характеризуються: ці змінні явно не описуються, до них неможливо звернутись за допомогою ідентифікатора; пам’ять для цих змінних не виділяється під час формування коду програми, вона виділяється у спеціальній області оперативної пам’яті; доступ до тих змінних виконується за допомогою показників (чи посилань), які стають активними після визначення динамічного об’єкту та містять адресу.
Однозв’язний циклічний список – це однозв’язний лінійний список, в якому останній компонент посилається на перший. Двозв’язний циклічний список – це список, в якому кожен ел. містить посилання на попер. і наст. елемент, в т.ч. останній ел. посилається на перший, а перший – на останній. Двозв’язний лінійний список – скл. з компонентів, що містять 2 покажчика: на попер. і на наст. елемент.
28.Поняття черги і стека. Алгоритм введення та вилучення елементів.
Черга – це однозв’язний лінійний список, в якому компоненти додаються в кінець списку, а вилучаються з вершини, тобто з початку списку. Стек – це однозв’язний лінійний список, в якому компоненти додаються та видаляються лише з його вершини, тобто з початку списку. Максимально допустимі розміри стеку і черги – важливі характеристики реалізації мови програмування, які визначають коло задач, які можна розв’язати. Стеки та черги описують і створюють у пам’яті за допомогою списків. Стек використовують у програмі для реалізації рекурсії. Операції над стеком: додавання елементу до стеку; вилучення елементу із стеку; перевірка на наявність елементів у стеку. Вилучення елементу із черги: nach:=nach^.next; Додавання елемента в поле в черзі:
new(novuy);
readln(<дані>);
novuy^.next:=nil;
kin^.next:=novuy;
kin:=novuy;
29.Графи і дерева.
Дерево – граф, який не містить циклів.
Двійкові дерева можуть бути побудовані на базі елементів з двома адресними полями. Одне з них містить посилання на ліву, а друге – на праву гілку піддерева, що починається з данного вузла. Якщо одна з гілок відсутня, в адресному полі, призначеному для неї, міститься nil. Граф – це складна нелінійна багатозв’язна динамічна структура, яка відображає параметри і зв’язки складного об’єкта. Багатозв’язна структура володіє наступними властивостями: на кожний елемент (вузол, вершину) може бути довільна кількість посилань; кожний елемент може мати зв’язок з
будь – якою кількістю других елементів; кожне ребро, дуга може мати направлення і вагу. Процедури вставки нового вузла в дерево:
Procedure Dob (k:KeyType; var d:TreePtr; zap:data);
{ k - ключ, d - вузол дерева, zap - запись }
Var r,s: TreePtr;
t: DataPtr;
Begin
if not Find(k,d,r) then
begin
new(t); t^:=zap; new(s); s^.key:=k;
s^.ssil:=t; s^.left:=NIL; s^.right:=NIL;
if d = NIL then d:=s
else if k < r^.key
then r^.left:=s
else r^.right:=s;
end; End;
