Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / oop-2025 / week04 / index.du
diff options
context:
space:
mode:
1 files changed, 30 insertions, 30 deletions
-rw-r--r--src/teaching/oop-2025/week04/index.du60
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} обект, който е транспонираната матрица на текущата