Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ_1 / ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ_3

.pdf
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
191.14 Кб
Скачать

ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ №5

Перший рівень

1.Визначити ієрархію класів - побудувати модель програмної системи - відповідно до варіанта (з графічним відображенням у звіті), яка полягає у побудові базового абстрактного класу та кількох обґрунтованих похідних (але не менше трьох) класів. Вибір відношень між класами (наслідування одиночне або множинне, відкрите або закрите) повинен обґрунтовуватися.

2.Визначити на базі кожного похідного класу методи, конструктами без параметрів, з параметрами, копіювання (базовий та похідні класи повинні містити не менше п’яти методів). Визначити в частині класів деструктори, а також віртуальні деструктори та продемонструвати відмінність їх роботи.

3.Продемонструвати приховування успадкованого члена за допомогою модифікатора new.

4.Продемонструвати доступу до членів базового з похідного класу за допомогою слова base.

5.Продемонструвати застосуванні до класу модифікатора sealed для заборони іншим класам успадковувати від цього класу, а також показати дозвіл успадковувати класам від визначеного Вами класу, забороняючи їм при цьому перевизначати визначені віртуальні методи.

6.Надати нову реалізацію члена, успадкованого від базового класу за допомогою override.

7.Кожен клас, що входить в ієрархію, що використовує відкрите наслідування, повинен містити принаймні одну віртуальну функцію. Функціональність зазначених функцій не повинна дублюватися.

Другий рівень

1.Визначити ієрархію класів - побудувати модель програмної системи - відповідно до варіанта (з графічним відображенням у звіті), яка полягає у побудові базового абстрактного класу та кількох обґрунтованих похідних (але не менше трьох) класів. Вибір відношень між класами (наслідування одиночне або множинне, відкрите або закрите) повинен обґрунтовуватися.

2.Визначити на базі кожного похідного класу методи, конструктами без параметрів, з параметрами, копіювання (базовий та похідні класи повинні містити не менше п’яти методів). Визначити в частині класів деструктори, а також віртуальні деструктори та продемонструвати відмінність їх роботи.

3.Продемонструвати приховування успадкованого члена за допомогою модифікатора new.

4.Продемонструвати доступу до членів базового з похідного класу за допомогою слова base.

5.Продемонструвати застосуванні до класу модифікатора sealed для заборони іншим класам успадковувати від цього класу, а також показати дозвіл успадковувати класам від визначеного Вами класу, забороняючи їм при цьому перевизначати визначені віртуальні методи.

6.Надати нову реалізацію члена, успадкованого від базового класу за допомогою override.

7.Кожен клас, що входить в ієрархію, що використовує відкрите наслідування, повинен містити принаймні одну віртуальну функцію. Функціональність зазначених функцій не повинна дублюватися.

8.Створити масив, що містить вказівники на об’єкти цих класів.

9.Передбачити додавання об’єктів та їх видалення. Видалення об’єкта даним методом здійснюється за певним критерієм (задається студентом самостійно, наприклад: колір, розмір, кількість, більше, менше, числові дані тощо). Визначити в класі Service метод, який записує у файл та читає з файлу поля даних класу. Ім’я

створюваного файлу є параметром, що задається в командному рядку (робота програми здійснюється саме з виклику даного методу у функції main() ).

10.Програма повинна надавати користувачу можливість вибору створення та знищення певного об’єкта (основні сутності) засобами меню.

11.Продемонструвати поліморфні виклики методів на прикладі відображення поточного стану масиву різних об’єктів.

12.Програма використає три cs-файли.

Третій рівень

1.Визначити ієрархію класів - побудувати модель програмної системи - відповідно до варіанта (з графічним відображенням у звіті), яка полягає у побудові базового абстрактного класу та кількох обґрунтованих похідних (але не менше трьох) класів. Вибір відношень між класами (наслідування одиночне або множинне, відкрите або закрите) повинен обґрунтовуватися.

2.Визначити на базі кожного похідного класу методи, конструктами без параметрів, з параметрами, копіювання (базовий та похідні класи повинні містити не менше п’яти методів). Визначити в частині класів деструктори, а також віртуальні деструктори та продемонструвати відмінність їх роботи.

3.Продемонструвати приховування успадкованого члена за допомогою модифікатора new.

4.Продемонструвати доступу до членів базового з похідного класу за допомогою слова base.

5.Продемонструвати застосуванні до класу модифікатора sealed для заборони іншим класам успадковувати від цього класу, а також показати дозвіл успадковувати класам від визначеного Вами класу, забороняючи їм при цьому перевизначати визначені віртуальні методи.

6.Надати нову реалізацію члена, успадкованого від базового класу за допомогою override.

7.Кожен клас, що входить в ієрархію, що використовує відкрите наслідування, повинен містити принаймні одну віртуальну функцію. Функціональність зазначених функцій не повинна дублюватися.

8.Створити масив, що містить вказівники на об’єкти цих класів.

9.Передбачити додавання об’єктів та їх видалення. Видалення об’єкта даним методом здійснюється за певним критерієм (задається студентом самостійно, наприклад: колір, розмір, кількість, більше, менше, числові дані тощо). Визначити в класі Service метод, який записує у файл та читає з файлу поля даних класу. Ім’я

створюваного файлу є параметром, що задається в командному рядку (робота програми здійснюється саме з виклику даного методу у функції main() ).

10.Визначити в класі Service статичний компонент – вказівник на початок зв’язного списку об’єктів і статичний метод для перегляду списку. Статичний метод перегляду списку викликати не через об’єкт, а через клас.

11.Програма повинна надавати користувачу можливість вибору створення та знищення певного об’єкта (основні сутності) засобами меню.

12.Реалізувати три інтерфейси в класах, один з яких повинен бути реалізований явно.

13.Продемонструвати поліморфні виклики методів на прикладі відображення поточного стану масиву різних об’єктів.

14.Програма використає три cs-файли.

Варіанти завдань.

1.Система Факультатив. Викладач оголошує запис на Курс. Студент записується на Курс, навчається і по закінченню Викладач виставляє Оцінку, яка зберігається в Архіві. Студентів, Викладачів і Курсів при навчанні може бути кілька.

2.Система Платежі. Клієнт має Рахунок у банку і Кредитну Карту (КК). Клієнт може оплатити Замовлення,

зробити платіж на інший Рахунок, заблокувати КК і анулювати Рахунок. Адміністратор може заблокувати КК за перевищення кредиту.

3.Система Лікарня. Пацієнтові призначається лікар. Лікар може зробити лікарські призначення Пацієнтові (процедури, ліки, операції). Медсестра або інший Лікар виконують призначення. Пацієнт може бути виписаний з Лікарні по закінченню лікування, при порушенні режиму або при інших обставинах.

4.Система Вступні іспити. Абітурієнт реєструється на Факультет, складає Іспити. Викладач виставляє Оцінку.

Система підраховує середній бал і визначає Абітурієнтів, зарахованих у навчальний заклад.

5.Система Бібліотека. Читач оформляє Замовлення на Книгу. Система здійснює пошук у Каталозі. Бібліотекар

видає Читачеві Книгу на абонемент або в читальний зал. При неповерненні Книги Читачем він може бути занесений

Адміністратором в «чорний список».

6.Система Конструкторське бюро. Замовник представляє Технічне Завдання (ТЗ) на проектування багатоповерхового Будинку. Конструктор реєструє ТЗ, визначає вартість проектування й будівництва, виставляє Замовникові Рахунок за проектування й створює Бригаду Конструкторів для виконання Проекту.

7.Система Телефонна станція. Абонент оплачує Рахунок за розмови і Послуги, може попросити Адміністратора

змінити номер і відмовитися від послуг. Адміністратор змінює номер, Послуги і тимчасово відключає Абонента за несплату.

8.Система Автобаза. Диспетчер розподіляє заявки на Рейси між Водіями й призначає для цього Автомобіль. Водій може зробити заявку на ремонт. Диспетчер може відсторонити Водія від роботи. Водій робить оцінку про виконання

Рейсу і стан Автомобіля.

9.Система Інтернет-Магазин. Адміністратор додає інформацію про Товар. Клієнт робить і оплачує Замовлення на

Товари. Адміністратор реєструє Продаж і може занести неплатників в «чорний список».

10.Система Залізнична каса. Пасажир робить Заявку на станцію призначення, час і дату поїздки. Система реєструє Заявку і здійснює пошук підходящого Поїзда. Пасажир робить вибір Поїзда і одержує Рахунок на оплату. Адміністратор вводить номери Поїздів, проміжні й кінцеві станції, ціни.

11.Система Міський транспорт. На Маршрут призначаються Автобус, Тролейбус або Трамвай. Транспортні засоби повинні рухатися з певним для кожного Маршруту інтервалом. При поломці на Маршрут повинен виходити резервний транспорт або збільшуватися інтервал руху.

12.Система Аерофлот. Адміністратор формує льотну Бригаду (пілоти, штурман, радист, стюардеси) на Рейс. Кожен Рейс виконується Літаком з певною місткістю і дальністю польоту. Рейс може бути відмінний через погодні умови в Аеропорті відльоту або призначення. Аеропорт призначення може бути змінений у польоті через технічні несправності, про яких повідомив командир.

13.Система Періодичні видання. Читач може зробити Заявку, попередньо вибравши періодичні Видання зі списку. Система підраховує суму для оплати. Читач сплачує заявку. Адміністратор додає Заявку в «чорний список», якщо Клієнт не сплачує її в певний строк.

14.Система Замовлення готелю. Клієнт залишає Заявку на Номер, вказавши кількість місць у номері, клас апартаментів і час перебування. Адміністратор розглядає Заявку, підтверджує або відхиляє її. Результат переглядає Клієнт. У випадку підтвердження Заявки Клієнт оплачує послуги.

15.Система Житлово-комунальні послуги. Квартиронаймач відправляє Заявку, у якій вказує вид робіт, масштаб і бажаний час виконання. Диспетчер формує відповідну Бригаду і реєструє її в Плані робіт. Диспетчер може відхилити Заявку у випадку зайнятості всіх Бригад.

16.Система Прокат автомобілів. Клієнт вибирає Автомобіль зі списку доступних, заповнює форму Замовлення,

вказуючи паспортні дані, строк оренди. Адміністратор може відхилити Заявку, указавши причини відмови. При підтвердженні Заявки Клієнт оплачує Замовлення. Система виписує суму. У випадку ушкодження Автомобіля Клієнтом Адміністратор вносить відповідні позначки.