Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вар заданий к РГР ООП по версиям семестр 3.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
75.97 Кб
Скачать

Версія 2

Додати конструктори по замовчуванню, ініціалізації та деструктори до всіх створених класів. Додати конструктори копіювання до всіх класів крім Годинника і Планувальника. Під час виклику кожного конструктора і деструктора повинно виводитися повідомлення, в якому вказується назва класу і тип викликаного конструктора чи деструктора. Створити об’єкти класів Планувальник і Відділ кадрів, які автоматично створюють об’єкти-атрибути, зв’язані відношенням композиції. Потрібно передбачити два режими введення даних — з клавіатури і використовуючи стандартні значення. Застосовувати конструктори ініціалізації і по замовчуванню для цих режимів відповідно.

Версія 3

Додати методи-аксесори для атрибутів усіх створених класів. Для атрибутів типу bool застосувати предикатні функції. Використати ітератори та функції утіліти. Рекомендації до виконання: використати функції-утіліти в класі Відділ кадрів для розрахунку величини заробітної платні працівника, застосувати ітератори у всіх процесах, де відбувається перелік об’єктів, наприклад, у класі Штатний розклад.

Версія 4

Додати деякі константні та статичні атрибути до класів (або зробити константними чи статичними існуючі атрибути). Рекомендації до виконання: зробити константними всі методи get, зробити статичними та константними максимальну кількість працівників.

Версія 5

Реалізувати перевантаження операторів для деяких функцій та дружні функції. Рекомендації до виконання: перевантажити операцію створення об’єктів Робітник *, наприклад, якщо треба отримати 5 робітників, то в коді можна було написати Робітник*5, перевантажити операції інкрементації та присвоєння класу Годинник.

Версія 6

Реалізувати просте успадкування класів. Рекомендації до виконання: створити клас Співробітник, від якого успадковуються усі професії такі, як Програміст, Системний адміністратор тощо.

Версія 7

Реалізувати множинне успадкування класів. Рекомендації до виконання: створити класи для комбінованих професій. Наприклад, об’єднавши Програміста і Керівника проектів, можна створити клас Teamlead.

Версія 8

Реалізувати оброблення виключних ситуацій. Рекомендації до виконання: якщо сума всіх окладів виходить за межі розміру фонду заробітної праці, то виникає критична ситуація, яку розв’язує користувач програми (”взяти кредит у банку”, „звільнити” деяких робітників чи спеціалістів, „заключити додаткові договори на розробку” тощо). Якщо сума всіх окладів менше, ніж розмір фонду заробітної праці, то ця ситуація означає економію фонду заробітної праці. Якщо працівник порушує трудову дисципліну (прогули, запізнення на роботу, неякісне виконання роботи тощо), то можливе його звільнення або позбавлення премій.

Варіант 9

Версія 1

Здійснити об’єктно-орієнтований аналіз та об’єктно-орієнтоване проектування програми, що моделює рух літаків у аеропорту [С. Дьюхарст, К. Старк. Программирование на С++]. Моделююча програма включає годинник, який на початку моделювання встановлюється в 0, а потім відраховує такти часу до моменту завершення процесу моделювання. Основні події, що відбуваються під час руху літаків, такі. Літаки створюють черги, в яких вони очікують обслуговування. За кожні 10 тактів модельного часу аеропорт обслуговує один літак, що йде на посадку, і один літак, що злітає. Якщо у повітрі та на злітній смузі нема літаків, то вони беруться з черги. Для здійснення посадки літак посилає запит диспетчеру (планувальнику програми) з інтервалом від одного до тридцяти тактів модельного часу. Інтервал часу між прибуттям літаків знаходиться в діапазоні від одного до тридцяти тактів. Обслуговування літаків на землі теж займає від одного до тридцяти тактів, потім літак може знов злетіти. Моделюються такі ситуації: літак просить дозвіл на посадку, отримавши дозвіл, літак сідає; посадка затримується, літак залишається у повітрі; літак відправлено на інший аеродром; літак просить дозвіл на зліт, отримавши його, літак злітає; літак потерпає від аварії під час посадки; літак розбивається; зліт літака затримується. Генератор випадкових чисел визначає момент, коли літаки знаходяться у повітрі та чекають на посадку, коли літаки на землі та чекають на зліт, коли літаки поступають до черги. Планувальник програми має виводити на екран повідомлення про події, що відбуваються у системі, що моделюється. Результати об’єктно-орієнтованого аналізу подати у вигляді сценарію роботи фізичного об’єкту та переліку іменників, дієслів, що претендують на назви класів, атрибутів і методів класів; результати об’єктно-орієнтованого проектування подати у вигляді діаграм прецедентів, об’єктів і класів. Згенерувати код інтерфейсів класів, побудувати проект (на кожний клас – по два файли: заголовний та срр), додати до проекту код згенерованих класів.