- •Основні поняття Object Pascal
- •Label { Розділ опису міток } Const { Розділ опису констант }
- •Лабораторна робота № 1 Створення простої програми у середовищі Delphi
- •Упорядкування і пошук даних
- •Лабораторна робота № 2 Упорядкування і пошук даних
- •Структуровані типи даних. Множини
- •Лабораторна робота № 3 Множини
- •Лабораторна робота № 4 Процедурні типи
- •Теоретичні відомості для виконання лабораторної роботи
- •1. Формула середніх прямокутників
- •2. Формула трапецій
- •3. Формула Сімпсона (формула парабол)
- •Pозв’язування рівнянь. Розв’язування рівнянь виду
- •Рекурсивні процедури і функції Рекурсія – це такий спосіб організації обчислювального процесу, при якому підпрограма в ході виконання звертається сама до себе.
- •Лабораторна робота № 5 Рекурсивні процедури і функції
- •Динамічні структури даних
- •Дані, які використовуються у програмі, поділяються на статичні й динамічні.
- •Вказівник може бути у трьох станах:
- •Лабораторна робота № 6 Динамічні структури даних
- •Лабораторна робота № 7 Розв’язання задачі з побудовою віконного інтерфейсу і підключенням форм Delphi
- •Лабораторна робота № 8 Розв’язання задачі з побудовою віконного інтерфейсу, підключенням форм Delphi та використанням графіки
- •Лабораторна робота № 9 Побудова проекту, що складається з декількох форм
Лабораторна робота № 6 Динамічні структури даних
Мета роботи:
1. Засвоєння принципів роботи з динамічними структурами даних.
2. Отримання практичних навиків розробки алгоритмів і програм для роботи зі списками, чергами, стеками і деревами.
Завдання:
1. Задано текст, в якому є круглі дужки. Розробити програму, яка перевіряє збалансованість дужок у заданому тексті. Якщо дужки збалансовані, то для кожної пари друкує їх номери позицій у тексті за зростанням номерів дужок, що закриваються. Якщо дужки не збалансовані, то виводить повідомлення про це.
2. Розробити
програму, яка створює список
,
елементами якого є цілі числа. Розміщає
в оберненому порядку всі елементи між
першим і останнім входженням заданого
елемента
,
якщо
входить у
не менше двох разів, інакше список
залишається без змін. Друкує модифікований
список по п’ять елементів у рядку.
3. Розробити
програму, яка створює список
,
елементами якого є цілі числа. Вилучає
із списку
всі від’ємні елементи і поміщає їх у
кінець списку в оберненому порядку до
їх розміщення. Друкує модифікований
список по п’ять елементів у рядку.
4. Розробити
програму, яка створює бінарне дерево
,
елементами якого є цілі числа, знаходить
і друкує всі його від’ємні елементи
по рангах.
5.
Розробити програму, яка створює списки
і
,
елементами яких є слова із великих
латинських літер. Знаходить всі слова
списку
,
що не містяться у
,
і друкує їх, розділяючи пробілами, в
оберненому порядку до їх розміщення.
6.
Розробити програму, яка створює список
,
елементами якого є цілі числа і дописує
в кінець цього списку всі елементи в
оберненому порядку до їх розміщення в
(тобто будується симетричний список,
наприклад, 1,2,3,3,2,1). Друкує отриманий
список по сім елементів у рядку.
7.
Розробити програму, яка створює список
,
елементами якого є цілі числа. Для
заданих чисел
,![]()
друкує в порядку розміщення всі числа
списку
менші від
,
потім всі числа з діапазону
і, нарешті, всі числа більші від
.
(Список переглядається тільки один
раз).
8.
Розробити програму, яка створює список
,
елементами якого є дійсні числа.
Перетворює список
так, щоб спочатку розміщувалися всі
невід’ємні елементи зі збереженням,
порядку їх розміщення, а потім всі
від’ємні в оберненому порядку. Друкує
модифікований список по п’ять елементів
у рядку.
9.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є цілі числа і знаходить
довжину (кількість віток) шляху від
кореня до найближчої вершини з елементом
.
10.
Розробити програму, яка створює списки
,
,
,
елементами яких є цілі числа. Замінює
перше входження списку
в список
(якщо таке є) на список
.
Друкує модифікований список
по десять елементів у рядку.
11.
Розробити програму, яка створює список
,
елементами якого є дійсні числа.
Перетворює список
за правилом: якщо числа упорядковані
за неспаданням
,
то список залишається без зміни, інакше
елементи у списку розміщуються в
оберненому порядку
.
Друкує модифікований список по п’ять
елементів у рядку.
12.
Розробити програму, яка створює список
,
елементами якого є дійсні числа. Обчислює
добуток
і друкує значення добутку та всі елементи
списку
.
(Для розв’язування задачі корисно
використати двозв’язний список).
13.
Розробити програму, яка створює список
,
елементами якого є дійсні числа
.
Будує список,
елементами якого є числа
,
.
Друкує отриманий список по п’ять
елементів у рядку.
14.
Розробити програму, яка створює списки
і
,
елементами яких є цілі числа (елементи
у списку
упорядковані за неспаданням, а у списку
розміщені довільно). Вставляє елементи
списку
у
так, щоб
залишився упорядкованим. Друкує
модифікований список
по десять елементів у рядку.
15.
Розробити програму, яка створює список
,
елементами якого є малі латинські
літери. Друкує в алфавітному порядку
всі літери, що входять у список
,
по одному разу, по декілька разів і не
входять жодного разу.
16.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є цілі числа, і обчислює
суму елементів цього дерева.
17. Задано текст, у якому є круглі дужки. Розробити програму, яка перевіряє збалансованість дужок у заданому тексті. Якщо дужки збалансовані, то для кожної пари друкує їх номери позицій у тексті за зростанням номерів дужок що відкриваються. Якщо дужки не збалансовані, то виводить повідомлення про це.
18. Розробити
програму, яка створює список
,
елементами якого є символи. Вилучає із
списку
всі повторні входження кожного символу.
Друкує модифікований список по п’ять
елементів у рядку.
19. По
кругу розміщаються
дітей. Відлік починається від першого
і кожний
-ий
вилучається, а круг змикається. Розробити
програму, яка визначає порядок вилучення
дітей із круга.
20.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є дійсні числа.
Знаходить і друкує найбільший та
найменший елементи дерева
.
21.
Розробити програму, яка створює списки
і
,
елементами яких є слова із великих
латинських літер. Знаходить всі слова
списку
,
що містяться в
,
і друкує, розділяючи їх пробілами, в
оберненому порядку до їх розміщення.
22.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є дійсні числа.
Підраховує середнє арифметичне всіх
елементів дерева
і друкує це значення та значення його
елементів.
23. Задана без помилок символьна формула виду: <формула>::=<цифра> М(<формула>,<формула>)m(<формула>,<формула>; <цифра>::=012…9, де М, m – функції обчислення максимуму і мінімуму відповідно. Розробити програму обчислення значення заданої формули (наприклад, М(5,m(6.8))–> 6).
24.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є дійсні числа, і
визначає його максимальну глибину,
тобто кількість віток у найдовшому
шляху від кореня до листя.
25.
Розробити програму, яка створює список
,
елементами якого є слова із великих
латинських літер, знаходить і друкує,
розділяючи пробілами, всі слова, що
входять у список
по одному разу.
26.
Розробити програму, яка створює список
,
елементами якого є цілі числа Вставляє
у список
перед кожним входженням елемента
елемент
.
Друкує модифікований список по п’ять
елементів у рядку.
27.
Розробити програму, яка створює список
,
елементами якого є цілі числа. Вилучає
із списку
після кожного входження елемента
наступний елемент і поміщає всі вилучені
елементи на початок списку в порядку
їх розміщення. Друкує модифікований
список по десять елементів у рядку.
28.
Розробити програму, яка створює бінарне
дерево
,
елементами якого є дійсні числа, будує
і друкує його копію
.
29.
Розробити програму, яка створює списки
і
,
елементами яких є слова. Знаходить і
вилучає із списку
всі слова, що також містяться у списку
.
Друкує модифікований список, розділяючи
слова пробілами.
30. Розробити
програму, яка створює список
,
елементами якого є цілі числа
.
Знаходить у списку
і друкує найдовший ланцюжок чисел, що
задовольняють умову:
