Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_3_Robota_z_polimorfnimi_klasami_ta_interfey.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
102.36 Кб
Скачать

Зміст     Попередня лабораторна робота    Наступна лабораторна робота

Лабораторна робота 3

Робота з поліморфними класами та інтерфейсами

1 Завдання на лабораторну роботу

1.1 Індивідуальне завдання

Розширити програму, яка була створена у попередній лабораторній роботі, ієрархією сутностей відповідно до наведеної таблиці:

Базовий клас

Похідний клас

Група людей

Академічна група

Заклад

Інститут

Структурна одиниця

Факультет

Форма контролю знань

Сесія

Населений пункт

Місто

Регіон

Область

Об'єднання

Спортивна секція

Спортивний клуб

Футбольний клуб

Творчій колектив

Музичний гурт

Творчій колектив

Музичний гурт

Збірка музичних творів

Альбом

Житло

Квартира

Книга

Збірка оповідань

Діяч культури

Художник

Діяч культури

Письменник

 

Відтворити завдання попередньої лабораторної роботи. Крім того, реалізувати операції додавання об'єктів у групу, (+) та видалення об'єктів з групи (-). Для всіх класів також необхідно перекрити метод ToString(), для об'єктів групи - також Equals(). Для представлення додаткових даних замість рядку необхідно створити відповідну структуру.

1.2 Розширення класу String

Розширити стандартний клас System.String методом видалення зайвих пропусків (декілька пропусків замінювати одним).

1.3 Розширення бібліотеки математичних функцій

Створити статичний клас із функцією знаходження чисел Фібоначчі:

F(1) = F(2) = 1; F(n) = F(n - 2) + F(n - 1)

Функція повинна отримувати параметр цілого типу та повертати цілий результат. Реалізувати два варіанти - через цикл (з масивом) і через рекурсію.

1.4 Створення класу Complex

Створити клас Complex (комплексне число), перевантажити операції + , -, *, / і операцію неявного приведення до типу string. Під час тестування використовувати ініціалізатори об'єктів.

1.5 Створення класу Vector

Створити клас Vector (математичний вектор). Описати необхідні конструктори. Перевантажити наступні операції:

  • + (сума векторів)

  • - (різниця векторів)

  • * (множення на скаляр)

  • * (скалярний добуток)

  • / (ділення на скаляр)

Перекрити функцію ToString(). У функції Main() створити три об'єкти типу Vector та здійснити тестування створених операцій.

1.6 Ієрархія класів

Реалізувати класи "Людина", "Громадянин", "Студент", "Співробітник". Створити масив посилань на різні об'єкти ієрархії. Для кожного об'єкта вивести на екран рядок даних про нього.

1.7 Корені рівняння

Реалізувати програму, що дозволяє знайти усі корені деякого рівняння на заданому інтервалі. Алгоритм знаходження коренів полягає в послідовному переборі з певним кроком точок інтервалу, знаходженні інтервалів, на яких функція змінює знак і виведенні середніх арифметичних початків та кінців інтервалів - коренів рівняння.

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

1.8 3D-точка

Реалізувати структуру (struct) для представлення точки в тривимірному просторі. Реалізувати функцію обчислення відстані від точки до початку координат. В окремому класі здійснити тестування структури.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]