Задачи за упражнение
Да се моделира дадения в задачата "реален" обект с неговите
свойства, т.е. да се създаде клас с членове:
- конструктори по подразбиране и с параметри;
- set и get функции;
- print функция;
- функцията, описана в конкретната задача;
- предефиниране на операцията, описана в задачата;
- констуктор за копиране, деструктор, операция присвояване
("големите три");
Поне една данна на класа да се съхранява в динамичната памет (heap).
Да се демонстрира:
- създаване и унищожаване на обекти;
- работата на член-функциите на класа;
- работа на програмата с подходящи тестови примери.
Задачи:
0 Обект: окръжност в равнината, зададена с център и радиус
Функция: пресечни точки на окръжността с координатните оси
Операция: събиране (+) - резултатът е най-малката окръжност,
съдържаща двете дадени.
1 Обект: матрица 2х2
Функция: намира детерминантата на матрицата
Операция: сума (+) на матрици
2 Обект: матрица 2х3
Функция: намира ранга на матрицата
Операция: сума (+) на матрици
3 Обект: права в равнината, зададена с точка и ъгъл, който сключва с
абсцисната ос
Функция: пресечната точка с абсцисната ос
Операция: въртене (*) на ъгъл 90 градуса около зададена точка.
4 Обект: проста дроб
Функция: проверка дали дробта не е цяло число
Операция: събиране на дроби
Шаблон: тип на числителя и знаменателя (int,char,long)
ОИ: нулев знаменател
5 Обект: точка в пространството
Функция: разстоянието от точката до началото на координатната
система
Операция: унарен минус - дава симетрична относно началото точка
6 Обект: точка в равнината
Функция: разстоянието от точката до началото на координатната
система
Операция: увеличаване с 1 (++) премества точката с вектор (1,1)
7 Обект: сила в равнината, зададена с приложна точка, посока и
големина
Функция: промяна на посоката на силата, като се завърта на зададен
ъгъл
Операция: добавяне (+=) към една сила друга сила по правилото на
успоредника
8 Обект: книга - име на автор, заглавие на книга, име на издателство
и година на издаване
Функция: връща true ако книгата е издадена преди зададена година
Операция: сравнение за равенство (==) на две книги
9 Обект: студент - име, презиме и фамилия, фак. номер, 5 оценки
Функция: изчисляване на среден успех
Операция: сравнение (>) по среден успех
10 Обект: вектор в равнината
Функция: големина на вектор
Операция: умножение на вектор с число (*)
11 Обект: вектор в пространството
Функция: големина на вектор
Операция: сума (+) на вектори
12 Обект: избирател - име, презиме и фамилия, ЕГН, избирателна
секция
Функция: проверка дали човекът има право да гласува (по възраст)
Операция: сравнение за равенство (==)
13 Обект: автомобил - марка, цвят, обем на двигател, цена
Функция: при зададено число, връща разликата между това число и
цената на автомобила
Операция: сравнение (>) според обема на двигателя
14 Обект: права в равнината, зададена с 2 точки
Функция: разстояние на правата до началото на координатната система
Операция: сравняване за различие (!=) на две прави
15 Обект: отсечка в равнината, зададена с 2 точки
Функция: дължината на отсечката
Операция: проверка (&) дали 2 отсечки се пресичат
16 Обект: отсечка в пространството, зададена с 2 точки
Функция: дължината на отсечката
Операция: проверка (^) дали отсечката пресича някоя координатна
равнина
17 Обект: полином от 3-та степен
Функция: пресмятане на стойност на полинома при зададено x
Операция: сума (+) на два полинома
18 Обект: матрица nxn с елементи 0 и 1
Функция: брой на нулите в матрицата
Операция: сума (+) на 2 матрици по модул 2 (остатък от целочислено
делене)
19 Обект: n-мерен вектор с елементи 0 и 1
Функция: брой на двойките 01 във вектора
Операция: поелементно отрицание (~): 0 се преобразува в 1, а 1 - в
0.
20 Обект: дата - ден, месец, година
Функция: колко дни има между две дати
Операция: добавяне на дни към дата (+=)
21 Обект: права в пространството, зададена от 2 точки
Функция: построява симетрична относно началото права
Операция: проверка за успоредност (||)
22 Обект: компютър - процесор, памет, HDD
Функция: при зададени 3 числа - честота на процецора, оперативна
памет и капацитет на диска връща true, ако характеристиките на
компютъра са такива или по-добри
Операция: сравнение (>=) по памет
23 Обект: работник - име, часова надница, брой отработени часове за
месеца
Функция: връща месечната заплата
Операция: повишаване на часовата надница (+=) със зададен процент
24 Обект: самолетен полет - дата, час, място, брой пътници
Функция: проверява дали полета е след зададена дата
Операция: сравняване на два полета (<) по брой пътници
25 Обект: комплексно число
Функция: модул на комплексно число
Операция: събиране на комплексни числа