- •1. Основні поняття Object Pascal
- •Label { Розділ опису міток } Const { Розділ опису констант }
- •Дійсні дані зображуються в експоненціальній формі
- •Введення і виведення даних. Для введення і виведення даних використовуються процедури
- •Лабораторна робота № 1 Лінійні програми з розгалуженнями
- •2. Оператори повторень
- •Оператор for з зарезервованим словом to виконується за алгоритмом:
- •Завершення виконання оператора for.
- •Лабораторна робота № 2 Циклічні програми. Обчислення з заданою точністю
- •3. Структуровані типи даних. Масиви
- •Лабораторна робота № 3 Алгоритми обробки масивів
- •4. Алгоритми обробки багатовимірних масивів
- •Лабораторна робота № 4 Алгоритми обробки багатовимірних масивів
- •5. Упорядкування і пошук даних
- •Лабораторна робота № 5 Упорядкування і пошук даних
- •6. Структуровані типи даних. Множини
- •Лабораторна робота № 6 Множини
- •7. Символьні рядки
- •Лабораторна робота № 7 Символьні рядки
- •8. Процедури і функції
- •Лабораторна робота № 8 Процедури і функції
- •9. Процедури і функції. Процедурні типи
- •Лабораторна робота № 9 Процедурні типи
- •Теоретичні відомості для виконання лабораторної роботи
- •1. Формула середніх прямокутників
- •2. Формула трапецій
- •3. Формула Сімпсона (формула парабол)
- •Розв’язування рівнянь. Розв’язування рівнянь виду
- •10. Рекурсивні процедури і функції Рекурсія – це такий спосіб організації обчислювального процесу, при якому підпрограма під час виконання звертається сама до себе.
- •Лабораторна робота № 10 Рекурсивні процедури і функції
- •11. Динамічні структури даних
- •Дані, які використовуються у програмі, поділяються на статичні й динамічні.
- •Вказівник може бути у трьох станах:
- •Вказівники
- •Лабораторна робота № 11 Динамічні структури даних
- •12. Файли
- •Лабораторна робота № 12 Текстові файли
- •Додаток Процедури і функції Object Pascal
- •Література
- •Практикум
- •58012, Чернівці, вул. Коцюбинського, 2
Лабораторна робота № 11 Динамічні структури даних
Мета роботи:
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. Розробити програму, яка створює список , елементами якого є цілі числа . Знаходить у списку і друкує найдовший ланцюжок чисел, що задовольняють умову: