diff options
1 files changed, 30 insertions, 30 deletions
| -rw-r--r-- | src/teaching/oop-2025/week04/index.du | 60 |
diff --git a/src/teaching/oop-2025/week04/index.du b/src/teaching/oop-2025/week04/index.du index 67f083e..5c7e7f5 100644 --- a/src/teaching/oop-2025/week04/index.du +++ b/src/teaching/oop-2025/week04/index.du @@ -1,65 +1,65 @@ -# Задачи - ООП, Седмица 4, 11.03.2026 +'def title Задачи - ООП, Седмица 4, 11.03.2026 +'def desc Условията на задачите за упражнение. -'define expected-reading 3 min -'define created 11 March 2026 -'define edited 11 March 2026 -[$pagenav] +# {title} -.warn За всеки клас имплементирайте [=голяма четворка!=] +{pagenav 3 min;11 March 2026;11 March 2026} + +.warn За всеки клас имплементирайте {b голяма четворка!} ## За решаване ### Задача 1 -.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise01 Решение] +.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise01} -Реализирайте клас [`Train`], който съдържа брой вагони, брой места за пътници, брой приети пътници, брой спирки които е минал, брой спирки които му остават, цена на билет и печалба от билети. +Реализирайте клас {` Train}, който съдържа брой вагони, брой места за пътници, брой приети пътници, брой спирки които е минал, брой спирки които му остават, цена на билет и печалба от билети. -Реализирайте селектори на всички тези параметри, конструктор с подадени стойности и публична член-функция [`ArriveAtStation`], която приема брой слизащи пътници и брой качващи се пътници. -Освен това реализирайте публична член-функция [`Print`], която изкарва всички стойности на класа. +Реализирайте селектори на всички тези параметри, конструктор с подадени стойности и публична член-функция {` ArriveAtStation}, която приема брой слизащи пътници и брой качващи се пътници. +Освен това реализирайте публична член-функция {` Print}, която изкарва всички стойности на класа. ### Задача 2 -.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise02 Решение] +.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise02} -Реализирайте клас [`IntArray`], който съдържа указател към масив от [`int`] елементи и капацитет. +Реализирайте клас {` IntArray}, който съдържа указател към масив от {` int} елементи и капацитет. Реализирайте публични член-функции: .unordered -- [`At`] която връща стойността по подаден индекс, -- [`Resize`] която променя размера на масива по подаден такъв. -- [`Concat`] която приема [`IntArray`] обект и слепява всички негови елементи след тези в текущия +- {` At} която връща стойността по подаден индекс, +- {` Resize} която променя размера на масива по подаден такъв. +- {` Concat} която приема {` IntArray} обект и слепява всички негови елементи след тези в текущия ### Задача 3 -.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise03 Решение] +.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week04/Exercise03} -Реализирайте клас [`String`], който съдържа низ [`char*`] и размер. +Реализирайте клас {` String}, който съдържа низ {` char*} и размер. Напомняме, че низа пак трябва да завършва на терминираща нула! Реализирайте конструктори: .unordered -- по подразбиране, в който се запазва низа [`""`] -- приемащ [`const char*`] -- приемащ [`String`] +- по подразбиране, в който се запазва низа {` ""} +- приемащ {` const char*} +- приемащ {` String} Реализирайте публични член-функции: .unordered -- селектор [`GetLength`], който връща размера на низа -- константен селектор [`GetStr`], който връща константен указател към низа -- [`Substring`] който връща нов [`String`] обект със съдържание, което е под-низ по подадените индекси -- [`Concat`] който връща нов [`String`] обект със съдържание, което е слепения (конкатениран) низ между текущия и подадения [`String`] +- селектор {` GetLength}, който връща размера на низа +- константен селектор {` GetStr}, който връща константен указател към низа +- {` Substring} който връща нов {` String} обект със съдържание, което е под-низ по подадените индекси +- {` Concat} който връща нов {` String} обект със съдържание, което е слепения (конкатениран) низ между текущия и подадения {` String} ### Задача 4 -Реализирайте клас [`Matrix`], който съдържа матрица от реални числа и нейния размер. +Реализирайте клас {` Matrix}, който съдържа матрица от реални числа и нейния размер. Реализирайте конструктор, който приема размери и масив и попълва матрицата от ляво на дясно, от горе на долу. Реализирайте член-функции: .unordered -- [`InsertRow`], която приема индекс и масив от реални числа и вмъква елементите като нов ред в матрицата -- [`InsertCol`], което приема индекс и масив от реални числа и вмъква елементите като нова колона в матрицата -- [`Sum`], която приема втора матрица и връща [`Matrix`] обект, който е сумата на текущата и подадената матрица -- [`Multiply`], която приема втора матрица и връща [`Matrix`] обект, който е умножението на текущата и подадената матрица (ред по стълб) -- [`Transpose`], която връща [`Matrix`] обект, който е транспонираната матрица на текущата +- {` InsertRow}, която приема индекс и масив от реални числа и вмъква елементите като нов ред в матрицата +- {` InsertCol}, което приема индекс и масив от реални числа и вмъква елементите като нова колона в матрицата +- {` Sum}, която приема втора матрица и връща {` Matrix} обект, който е сумата на текущата и подадената матрица +- {` Multiply}, която приема втора матрица и връща {` Matrix} обект, който е умножението на текущата и подадената матрица (ред по стълб) +- {` Transpose}, която връща {` Matrix} обект, който е транспонираната матрица на текущата |