- •Об’єкто-орієнтоване
- •Методичні рекомендації та модульні завдання
- •§1. Об’єкт. Структура. Клас.
- •§2. Управління доступом до членів класу
- •§3. Перезавантаження функцій
- •§4. Шаблони функцій
- •§5. Конструктори
- •§6. Статичні члени класу
- •§7. Деструктори
- •§8. Перезавантаження операцій
- •§9. Друзі класу
- •§10. Бінарні й унарні операції
- •§11. Створення класів з підкласами. Агрегація
- •Файл реалізації “Stack.Cpp”
- •§12. Успадкування
- •§13. Ієрархія успадкування класів
- •Модуль 1 (20 балів)
- •Лабораторна робота №1 (6 балів)
- •Тема: Структури. Зовнішні функції і функції-члени структури.
- •Завдання
- •Варіанти завдань
- •Лабораторна робота №2 (6 балів) Тема: Перезавантаження операцій і функцій Завдання
- •Варіанти завдань
- •Лабораторна робота №3 (8 балів) Тема: Структури та класи Завдання
- •Варіанти завдань
- •Варіанти завдань
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Варіанти завдань
- •Лабораторна робота №6 (8 балів) Тема: Абстрактні класи Завдання
- •Варіанти завдань
- •Модуль контроль (15 балів) Теоретичні питання
- •Теоретичні питання
- •Модуль контроль підсумковий (30 балів)
- •Тематика задач
- •Теоретичні питання
- •Розподіл балів і годин
- •Список літератури
- •Навчальне видання
- •Методичні рекомендації та модульні завдання
- •58012, Чернівці, вул. Коцюбинського, 2
Визначити функції:
визначення, чи вектори колінеарні;
визначення, чи вектори ортогональні;
друку вектора;
графічного зображення вектора;
визначення довжини вектора.
30. Створити клас: вектор у просторі. Створити конструктор і деструктор, генератор копій.
Визначити операції:
«&» – кут між векторами;
«^» – векторний добуток векторів;
«*» – скалярний добуток;
«=» – присвоєння;
«<<» – друку вектора.
Визначити функції:
визначення, чи вектори колінеарні;
визначення, чи вектори компланарні;
визначення мішаного добутку векторів;
графічного зображення проекцій вектора на кожну координатну площину;
визначення довжини вектора.
31. Створити клас: еліпс. Еліпс задається коефіцієнтами a, b канонічного рівняння. Створити конструктори, деструктор.
Визначити операції:
“=” – присвоєння;
“==”- порівняння;
“<<” – друку інформації про еліпс;
“<=”, “>=” – включення одного еліпсу в інший та навпаки.
Визначити функції:
визначення координат фокусів;
визначення ексцентриситету;
визначення фокального параметру;
визначення рівнянь директрис;
графічного зображення еліпсу.
32. Створити клас: циліндр, нижня основа якого паралельна координатній площині XOY. Циліндр задається координатами центру нижньої основи, радіусом основи і висотою. Створити конструктори, деструктор.
Визначити операції:
« = » - присвоєння;
«==» - порівняння циліндрів за об’ємами;
«<< » - друк інформації про циліндр;
«<= » - визначення належності одного циліндру іншому;
«>= » - визначення включення одним циліндром іншого.
Визначити функції:
зсуву циліндру на заданий вектор;
стискання розмірів циліндру в задану кількість разів;
друку інформації про перетин з іншим циліндром (так, ні).
33. Створити клас: автомобіль. Автомобіль задається даними: номер. марка, ціна, колір, прізвище та ім’я власника, рік випуску, ознака проходження мита. Створити конструктори, деструктор.
Визначити операції:
« = » - присвоєння;
«<»,«>» - порівняння автомобілів за ціною;
«<=»,«>=» - порівняння автомобілів за роком випуску;
«<< » - друк інформації про автомобіль;
«+ » - сумарна ціна автомобілів.
Визначити функції:
розмитнення авто в залежності від року випуску;
зміна кольору та власника;
визначення, чи розмитнений автомобіль;
визначення, чи номер автомобіля є щасливим (симетричним);
визначення, скільки років автомобілю.
34. Створити клас: таймер. Таймер задається проміжком часу, через якій буде викликана функція та часом початку та кінця роботи. Створити конструктори, деструктор.
Визначити операції:
« = » - присвоєння;
«==» - порівняння двох таймерів;
«<=»,«>=» - порівняння проміжків часу двох таймерів;
«<»,«>» - порівняння часу початку роботи двох таймерів;
«<< » - друк інформації про таймер;
«-» - визначення різниці в часі між двома таймерами.
Визначити функції:
графічного зображення зміни часу у вигляді відрізка, довжина якого збільшується з часом (функція викликатися через заданий таймером проміжок часу);
зміни проміжку часу;
визначення кількості викликів таймером заданої функції;
створення копії таймера;
зміни часу початку роботи таймера.
Модуль 3 (30 балів)
Лабораторна робота №5 (12 балів)
Тема: Створення класів з використанням існуючих класів. Успадкування. Агрегація.
Завдання
Використовуючи розроблений в лабораторній роботі №2 клас, утворити новий клас, в якому або успадкувати старий клас, розширивши/звузивши його можливості, або використати в новому класі члени-дані типу старого класу (контейнеризація). Конкретну умову задачі скласти самостійно, узгодивши її з викладачем. Нижче наведено приклади умов задач для варіанту 1 (успадкування) і для варіанту 2 (контейнеризація).