- •Об’єкто-орієнтоване
- •Методичні рекомендації та модульні завдання
- •§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
Варіанти завдань
1. Визначити клас: трикутник на площині. Він визначається трьома вершинами А(X1,Y1), B(X2,Y2), C(X3,Y3). Xi, Yi є R. Створити конструктор і деструктор.
Визначити операції:
«<<» друку інформації про об’єкт;
«==», «!=» порівняння двох об’єктів.
Визначити функції:
знаходження площі і периметра трикутника;
знаходження радіуса вписаного і описаного кола;
знаходження кутів при вершинах;
знаходження висот і медіан;
визначення типу трикутника (прямокутний, гострокутний, є тупий кут; рівнобедрений, рівносторонній);
графічного зображення об’єкта на екрані;
знаходження центрів описаного і вписаного кола;
повертання на заданий кут навколо центра описаного кола;
зсуву об’єкта вправо, вліво.
2. Визначити клас многочленів степеня n з дійсними коефіцієнтами P(x)=a0 +a1 x +a2 x2 +…+ an-1 xn-1, x є R.
Для збереження коефіцієнтів многочлена використати масив. Створити конструктори і деструктор.
Визначити операції:
«+», «-», «*» -додавання, віднімання і множення многочленів.
Визначити функції:
друку многочлена;
створення копії многочлена;
знаходження значення многочлена в точці;
знаходження частки і залишка від ділення многочлена на многочлен;
обчислення многочленів (x-a)P(x), P(x+a) (a задається), P’(x), P(Q(x)).
3. Визначити клас: довге ціле число. Для збереження числа використати масив (один елемент масиву - одна цифра числа). Створити конструктори i деструктор.
Визначити операції:
"+", "-", "*" додавання, віднімання, множення чисел;
"/" цілочислове ділення;
"%" залишок від ділення;
"==","!=",">","<","<=",">=" порівняння.
Визначити функції:
друку числа;
логічну функцію, яка визначає, чи дорівнює число нулю.
Визначити, чи є число 250+1 простим. Роздрукувати числа 210, 2100, 100!.
4. Створити клас: рядок символів. Рядок символів зберігається в пам’яті з допомогою однонапрямного зв’язного списку. Створити конструктори і деструктор.
Визначити операції:
«+» зчеплення двох рядків;
«==», «!=», «<», «>», «<=», «>=» операції порівняння двох рядків;
«<<» операцію друку рядка.
Визначити функції:
копіювання рядка;
знищення N символів рядка, починаючи з позиції Poz;
вставка рядка St1 в рядок St2, починаючи з позиції Рoz;
визначення довжини рядка;
виявлення першого входження в рядок St1 підрядка St2. Результат – номер позиції.
5. Створити клас: множина точок на площині. P(X,Y), X,Y є Z. Для збереження множини використати лінійний однонапрямний список. Створити конструктори і деструктор.
Визначити операції:
«*», «+», «-» перетин, об’єднання, різниця двох множин;
«==»,«!=», «>=», «<=» операції відношення множин;
«<< » операцію друку множини.
Визначити функції:
створення копії множини;
визначення кількості елементів в множині;
визначення належності точки до множини;
порівняння з порожньою множиною;
впорядкування множини по відстаням від точок до початку координат;
впорядкування множини по куту повороту відносно вісі ОХ.
6. Визначити клас: прямий паралелограм на площині. Паралелограм визначається числами (X1, Y1, X2, Y2, X3, Y3) , де Xi, Yi є N.
(X2, Y2) (X3, Y2)
(X1, Y1)
Створити конструктор і деструктор.
Визначити операції:
“+”, “*”, “-” площа об’єднання, перетину і різниці паралелограмів;
“==” порівняння паралелограмів на співпадання при переносі.
Визначити функції:
друку інформації про паралелограм;
знаходження площі і периметру об’єкта;
графічного зображення об’єкта;
знаходження гострого кута при вершині;
зсуву об’єкта на 10 пікселей вправо.
7. Створити клас: множина цілих чисел. Для представлення множини використати бінарний вектор. Створити конструктор і деструктор.
Визначити операції:
«*» – перетин двох множин;
«+» – об’єднання множин;
«-» – різниця двох множин;
«~» – доповнення множини;
«%»– симетричну різницю множин;
«==», «!=», «>=», «<=» – операції відношення множин;
«<<»,«>>» - операції вводу і виводу інформації про множину.
Визначити функції:
створення копії множини;
визначення кількості елементів в множині;
визначення, чи належить число до множини;
порівняння з порожньою множиною;
знаходження мінімального елемента множини.
8. Визначити клас многочленів з комплексними коефіцієнтами P(x)=a0 +a1 x +a2 x2 +…+ an-1 xn-1, x є C, ak =u+iv, u є Z, v є Z. Для збереження коефіцієнтів в пам’яті використати лінійний однонапрямний зв’язний список. Створити конструктори і деструктор
Визначити операції:
«+»,«-», «*» додавання, віднімання, множення многочленів;
«==» операцію порівняння многочленів.
Визначити функції:
друку многочлена;
створення копії многочлена;
обчислення значення многочлена в точці a;
друку многочлена Р(x+а) для заданного a.
9. Визначити клас многочленів довільного степеня з цілими коефіцієнтами P(x)=a0 +a1 x +a2 x2 +…+ an-1 xn-1.
Для збереження коефіцієнтів в пам’яті використати лінійний однонапрямний зв’язний список. Створити конструктори і деструктор
Визначити операції:
«+»,«-», «*» додавання, віднімання, множення многочленів;
«<<»,«>>» операції виводу і вводу многочленів.
Визначити функції:
перевірки рівностей двох многочленів;
створення копії многочлена;
знаходження значення многочлена в точці;
обчислення многочленів Р(x+а), (x-а)Р(x), Р’(x) для заданного a;
графічного зображення функції y=Р(x).
10. Визначити клас многочленів з раціональними коефіцієнтами коефіцієнтами P(x)=a0 +a1 x +a2 x2 +…+ an-1 xn-1, x є Q, ak =uk/vk, uk є Z, vk є N.
Для збереження коефіцієнтів використати один двовимірний або два одновимірні масиви. Створити конструктор та деструктор.
Визначити операції:
«+» додавання двох многочленів;
«-» віднімання двох многочленів;
«*» множення двох многочленів;
«<<» друку многочлена;
«==» порівняння двох многочленів.