Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / oop-2025 / week12 / index.du
diff options
context:
space:
mode:
1 files changed, 40 insertions, 0 deletions
-rw-r--r--src/teaching/oop-2025/week12/index.du40
diff --git a/src/teaching/oop-2025/week12/index.du b/src/teaching/oop-2025/week12/index.du
new file mode 100644
index 0000000..4f34d9c
--- /dev/null
+++ b/src/teaching/oop-2025/week12/index.du
@@ -0,0 +1,40 @@
+# Задачи - ООП, Седмица 12, 13.05.2026
+
+'define expected-reading 2 min
+'define created 13 May 2026
+'define edited 13 May 2026
+[$pagenav]
+
+## За решаване
+
+### Задача 1
+
+.warn
+Първо реализирайте архитектурно решение на задачата!
+
+Ще разгледаме система за менажиране на прозорци в операционна система.
+
+За всеки прозорец съхраняваме:
+.unordered
+- неотрицателни координати на горния ляв ъгъл на прозореца в пиксели.
+ На координат (0,0) отбелязваме пиксела в горния ляв ъгъл на екрана.
+- ширина и височина на прозореца в пиксели
+- име на прозореца с максимална дължина от 255 букви
+
+Прозореца трябва да има нужните селектори, мутатори, методи за центриране (хоризонтално, вертикално и двете), реоразмеряване на цял екран и обратно.
+
+Разглеждаме също прозорци с рамка.
+Рамката заема част от всяка страна на прозореца.
+Трябва да се съхрняват два размера на рамката: този на горната страна (който в реалния свят би съхранявал името на прозореца, бутони за отваряне/затваряне и так. нат.) и този на останалите страни (който е много тънък и се използва главно за реоразмеряване).
+
+Прозреца с рамка допълнително трябва да имплементира метод, който връща областта в която се намира съдържанието: размера и координатите на прозореца с извадени размерите на рамките.
+
+Имаме и формулярен прозорец: прозорец с рамка, който съхранява неограничено количество от динамично-заделени данни по подаден тип.
+Реализирайте всички нужни методи и оператори за обработка на тези данни.
+
+Имаме и диалогов прозорец: прозорец с рамка, който съхранява низово съобщение с неограничен размер.
+Реализирайте селектор и мутатор на това съобщение.
+
+Финално имаме графичен прозорец: прозорец без рамка, който съхранява изображение.
+Всеки пиксел в изображението се представя чрез произволна целочислена стойност.
+Размерите на изображението са запазени в типа на прозореца.