Примітка|тлумачення|. У варіантах завдань|задавань| на розробку баз даних передбачити файлову організацію і зберігання даних.
1. Організувати однозв'язний список для зберігання цілих чисел, кількість змінних наперед|заздалегідь| невідома. Написати функції пошуку елементу в списку і його видалення|віддалення|.
2. Написати програму організації зв'язного списку, в якому всі елементи розташовуються у порядку|ладі| зростання (використовувати вставку елементу на своє місце в списку).
3. Написати програму організації зв'язного списку за наступною|слідуючою| ознакою: якщо введений|запроваджений| символ - буква|літера|, то в кінці|у кінці,наприкінці| списку додається|добавляється| вузол, який містить|утримує| символ, інакше вузол додається|добавляється| в початок списку і містить|утримує| цифру.
4. Написати програму створення|створіння| двозв'язного списку (кожен вузол містить|утримує| два покажчики: на подальший|наступний| елемент і на попередній). Елементами списку є|з'являються,являються| рядкові змінні. Відсортувати елементи в списку по довжині рядків.
5. Написати програму створення|створіння| двозв'язного замкнутого списку (покажчик на наступний|такий| елемент в останньому вузлі списку повинен указувати|вказувати| на перший елемент, а покажчик на попередній елемент списку першого вузла повинен указувати|вказувати| на останній створений елемент). Видалення|віддалення| вузлів списку організувати за наступним|слідуючим| правилом: видаляється кожен другий елемент| списку до тих пір, поки це можливо буде виконувати (у результаті список складатиметься тільки|лише| з одного елементу). Тип величин, що зберігаються у вузлах списку, вибрати самостійно.
6. Організувати двозв'язний список за принципом FIFO і видати на екран всі елементи списку, починаючи|розпочинаючи,зачинаючи| з|із| середнього, рухаючись|сунучись| одночасно в обидва напрями|направлення| за списком.
7. Організувати зв'язний список, кожен елемент якого має поле пріоритету. Дані витягуються із|із| списку відповідно до пріоритету.
8. Організувати двозв'язний список за принципом LIFO. Усередині елементу списку зберігається рядок довільних символів і ціле значення, яке рівне числу букв|літер| в рядку, що зберігається. Відсортувати елементи списку лінійним сортуванням у порядку|ладі| збільшення цілого, що зберігається (міняти|змінювати,замінювати| місцями значення, що зберігаються, а не самі вузли списку).
9. Створити чотирьохзв'язний список по топології тора. Реалізувати механізм пошуку в даній структурі.
10. Заданий список слів довільної організації. Написати програму сортування слів за абеткою|по алфавіту| і по довжині.
11. Написати програму створення|створіння| і обробки списку довільних даних за принципом: поточний елемент посилається на попередній і на наступний|слідуючий| елементи.
12. Створити список довільної організації, усередині елементів якого повинно зберігається значення будь-якого з типів { char char*, int int* } і можливо зберігання інших значень (вибір самостійний). Необхідно у файл вивести спочатку елемнты| списку типу char, |із| потім – char*, int, int*.
13. Створити замкнутий двозв'язний список, в якому парні (по номеру надходження|вступу|) елементи заносяться | в кінець списку, а непарні – в початок.
14. Створити трьохзв'язний список, у|в,біля| якого перший покажчик|заслання| вказує на попередній елемент, другий – на елемент, який розташований|схильний| через один елемент від фіксованого, третій - на елемент, який розташований|схильний| через два елементи від фіксованих. Визначити функцію видалення|віддалення| довільного елементу списку. Тип значень, що зберігаються, в|із| області даних, вибрати самостійно.
15. Створити список довільної організації (вибір пояснити на захисті), у вузлах якого зберігаються два рядки. Необхідно для цього списку визначити функцію сортування (метод бульбашки) елементів списку у порядку|ладі| зменшення сумарної кількості цифр в рядках, що зберігаються.
16. Для замкнутого двозв'язного списку реалізувати швидке сортування “за збільшенням елементів” списку (ознаку впорядкування вибрати самостійно).
17. Написати програму для створення|створіння| і зберігання трирівневого генеалогічного|родовідного| дерева і відображення по запиту користувача всіх або одного рівня.
18. Написати програму для створення|створіння| і зберігання бінарного довідника. Реалізувати функції: додавання|добавки| або видалення|віддалення| вершини дерева або піддерева|.
19. Написати програму для створення|створіння| і зберігання двійково-трійкового дерева. Реалізувати функції: додавання|добавки| або видалення|віддалення| вершини дерева або піддерева|.
20. Створити список довільної організації. Областю даних кожного елементу є|з'являється,являється| рядок, який містить|утримує| назву геометричної фігури, і площу|майдан| цій фігурі. Відсортувати всі елементи списку у порядку|ладі| убування по назвах фігур (довжині рядка) і потім|і тоді| у порядку|ладі| зростання по величині займаної|позичати,посідати| площі|майдану| (маються на увазі однойменні фігури).
21. Написати програму, яка дозволить створити базу даних “Бібліотека” з|із| полями “Назва книги”, “Автор”, “Рік видання”, “Наявність на даний момент”. Організувати пошук по ключу|джерелу|, вставку даних і видалення|віддалення|.
22. Написати програму, яка дозволить створити наступну|слідуючу| базу даних про рух автобусів:
№ маршруту | Час відправлення | Місце призначення | |
час. | хв. | ||
Вивести всі номери рейсів, що відправляються|вирушають| в місто N до полудня.
23. Представити|уявити| час у вигляді структури даних, що складається з трьох полів: годинник (1¸12); хвилини (1¸60); половина доби (АМ| або PМ). Реалізувати операцію складання часів (враховувати зміну доби).
24. Представити|уявити| комплексні числа у вигляді структури даних. Реалізувати складання і множення комплексних чисел і результат вивести на екран в стандартному вигляді|виді|.
25. Торгова|торгівельна| фірма виплачує продавцям комісійну винагороду у розмірі 5%, якщо товар продано на суму менше 1000 грв|. і 6%, якщо виручка складає 1000 грв|. і вище. Продавці, що пропрацювали у фірмі більше 10 років, одержують|отримують| комісійні на 1% більше. Видати на екран всі вхідні дані (ФІО продавця, час його роботи у фірмі, загальну|спільна| суму виручки), комісійні по кожному продавцю, загальні|спільні| підсумки по сумі виручки і загальну|спільну| суму комісійної винагороди.
26. Створити наступну|слідуючу| базу даних про співробітників відділу: ФІО (складається з трьох полів), дата народження (складається з трьох полів) і сімейний стан (union). Вивести на екран відомості по всіх співробітниках, які мають сім'ю і народилися до 1979 року.
27. Фірма “ALL FOR YOU”, що забезпечує водопостачанням населення встановила наступні|слідуючі| розміри платні|плати| за воду: 0.004$ за літр для перших 100 літрів і 0.003$ - за кожен подальший|наступний| літр. Вхідна інформація: ФІО споживача; попередні показання |показник,показання| лічильника|; нові дані|показник,показання| лічильника|. Вихідна інформація: спожита кількість води, розмір платні|плати| за першим і другим тарифами, загальна|спільна| платня|плата|. Написати програму, що забезпечує обробку даних по декількох споживачах.
28. Написати програму для створення|створіння| і зберігання трирівневого генеалогічного|родовідного| дерева і відображення по запиту користувача всіх або одного рівня.
29. Написати програму для створення|створіння| і зберігання бінарного довідника. Реалізувати функції: додавання|добавки| або видалення|віддалення| вершини дерева або піддерева|.
30. Написати програму для створення|створіння| і зберігання двійково-трійкового дерева. Реалізувати функції: додавання|добавки| або видалення|віддалення| вершини дерева або піддерева|.
Лабораторна робота № 6
Класи і об'єкти в С++
Мета|ціль|. Одержати|отримати| практичні навички|навички| реалізації класів на С++