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