- •Об’єкто-орієнтоване
- •Методичні рекомендації та модульні завдання
- •§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
Визначити функції:
створення копії многочлена;
скорочення раціонального дробу;
знаходження значення многочлена в точці;
знаходження Р’(х), Р(х+а).
11. Визначити клас: комплексне число. Створити конструктори і деструктор.
Визначити операції:
«+»,«-»,«*»,«/» - арифметичні операції;
«=» – присвоєння;
«!» – отримання спряженого числа.
Створити функції:
друку комплексного числа;
створення копії;
знаходження кореня n-го степеня з комплексного числа;
знаходження |z|, Arg z, za (a–дійсне число);
обчислення з заданою точністю за допомогою рядів
12. Створити клас матриць розмірності n х n з дійсними коефіцієнтами. Визначити конструктор і деструктор.
Визначити операції:
«+»,«-»,«*» для матриць;
«<<» друку матриці;
«>>» вводу матриці;
«==» порівняння матриць.
Визначити функції:
знаходження визначника матриці;
знаходження оберненої матриці;
знаходження норми матриці;
знаходження сліду матриці;
функцію, яка визначає, чи є матриця симетричною.
13. Визначити клас векторів розмірності n. Створити конструктори і деструктор.
Визначити операції:
«+»,«-» додавання і віднімання векторів;
«*» скалярний добуток векторів;
«>>» вводу вектора;
«^» множення вектора на число.
Визначити функції:
друку вектора;
знаходження довжини вектора;
створення копії вектора;
сортування елементів вектора;
нормування вектора.
14. Створити клас: рядок символів Рядок символів зберігається як в мові Паскаль. Для його збереження використовується масив символів. В нульовому елементі зберігається поточна довжина рядка. Створити конструктори і деструктор.
Визначити операції:
«+» зчеплення двох рядків;
«%» логічне додавання (добавляються тільки ті символи з другого рядка, яких немає в першому рядку);
«==»,«!=»,«<»,«>»,«<=»,«>=» операції порівняння двох рядків.
Визначити функції:
друку рядка;
копіювання рядка;
знищення N символів рядка, починаючи з позиції Poz;
вставки рядка st1 в рядок st2, починаючи з позиції Poz;
визначення довжини рядка;
виявлення першого входження в рядок st1 підрядка st2. Результат - номер позиції.
15. Визначити клас: рядок символів. Для збереження рядка використати масив, ознакою кінця рядка символів є символ ‘\0’. Створити конструктори і деструктор.
Визначити операції:
«*» логічне множення двох рядків (повертається рядок, в якому є тільки спільні символи);
«+» операцію зчеплення двох рядків;
«==», «!=», «<», «>», «<=» , «>=», операції порівняння двох рядків.
Визначити функції:
друку рядка;
копіювання рядка;
знищення N символів рядка, починаючи з позиції Poz;
вставка рядка St1 в рядок St2, починаючи з позиції Poz;
визначення довжини рядка;
виділення із рядка підрядок довжиною N символів починаючи з позиції Poz;
виявлення першого входження рядка в підрядок. Результат - номер позиції;
перевірки, чи є рядок записом цілого додатного числа;
перетворення рядка символів в ціле число, записом якого він є.
16. Визначити клас: круг на площині. Круг визначається трійкою чисел (х, у, r). Створити конструктори і деструктор.
Визначити операції:
«+» – площа об'єднання двох кругів;
«–» – площа різниці двох кругів;
«*» – площа перетину двох кругів.
Визначити функції:
друку інформації про коло;
порівняння площ;
знаходження площі круга;
довжини дуги для заданого в градусах центрального кута;
графічного зображення кола на екрані.
17. Визначити клас: прямокутник на площині. Прямокутник визначається координатами точки А(х1,у1) – верхня ліва точка, і точки В(х2,у2) – нижня права точка прямокутника (х1,у1,х2,у2єN). Створити конструктори і деструктор.
Визначити операції:
«+» – площа об'єднання двох прямокутників;
«–» – площа різниці двох прямокутників;
«*» – площа перетину двох прямокутників.
Визначити функції:
друку інформації про прямокутник;
порівняння прямокутників за площами;
порівняння прямокутників на співпадання при переносі;
знаходження площі і периметру прямокутника;
графічного зображення прямокутника на екрані.
18. Визначити клас: довге ціле число. Для збереження числа використати лінійний однонапрямний список. Створити конструктор i деструктор.
Визначити операції:
"+", "-", "*" додавання, віднімання, множення чисел;
"/" цілочислове ділення;
"%" залишок від ділення.
Визначити функції:
друку числа;
знаходження кількості цифр в числі;
нормалізації числа (відкидання незначущих нулів);
логічну функцію, яка визначає, чи дорівнює число нулю.
Визначити, чи є число 2100+1 простим.
19. Створити клас: правильний многокутник. Об’єкт визначається через 5 цілих чисел X1,Y1, R, N. Тут O(X1,Y1)- центр описаного кола, R – радіус описаного кола, N – кількість сторін, A(X1-R, Y1) –координати першої вершини. Створити конструктор і деструктор.
Визначити операцію:
“==” , “!=”– порівняння двох об’єктів;
“<<”– друку інформації про об’єкт.
Визначити функції:
знаходження площі і периметра об’єкта;
знаходження радіуса вписаного кола;
знаходження кута при вершині;
графічного зображення об’єкта на екрані;
зсуву зображення на 20 пікселей вліво.
20. Визначити клас: площина у просторі. Площина задається загальним рівнянням А,В,С,D – коефіцієнти. Створити конструктор і деструктор, генератор копій.
Визначити операції:
«^» – кут між площинами;
«||» – відстань між площинами;
«==», «!=» – порівняння двох площин.