Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Посібник (1).doc
Скачиваний:
8
Добавлен:
01.05.2019
Размер:
544.77 Кб
Скачать

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

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.

Для збереження коефіцієнтів використати один двовимірний або два одновимірні масиви. Створити конструктор та деструктор.

Визначити операції:

«+» додавання двох многочленів;

«-» віднімання двох многочленів;

«*» множення двох многочленів;

«<<» друку многочлена;

«==» порівняння двох многочленів.

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