Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit003ae8cede12eab012a49f982c6124adf6fe39e7 (patch)
Author
 Syndamia <kamen@syndamia.com>
2026-05-27 09:29:29 +0300
Committer
 Syndamia <kamen@syndamia.com>
2026-05-27 09:29:29 +0300
Filesb6ae04581581d325ea49bb7c26b84cc056ca98fc /src
syndamia.com-003ae8cede12eab012a49f982c6124adf6fe39e7.tar
syndamia.com-003ae8cede12eab012a49f982c6124adf6fe39e7.tar.gz
syndamia.com-003ae8cede12eab012a49f982c6124adf6fe39e7.zip
Parenta975e73720fd12f4eb25f0e1e4dd88fef33f24d1 (diff)
feat(teaching/oop-2025/w14): Add exercise
2 files changed, 36 insertions, 0 deletions
-rw-r--r--src/teaching/oop-2025/index.du9
-rw-r--r--src/teaching/oop-2025/week14/index.du27
diff --git a/src/teaching/oop-2025/index.du b/src/teaching/oop-2025/index.du
index 28790c8..8171ef3 100644
--- a/src/teaching/oop-2025/index.du
+++ b/src/teaching/oop-2025/index.du
@@ -152,3 +152,12 @@
|:
|:
[url ./week13 Задачи]
+
+|: 14
+|: 27.05.2026
+|: Диамантен проблем
+
+|:
+|:
+|:
+[url ./week14 Задачи]
diff --git a/src/teaching/oop-2025/week14/index.du b/src/teaching/oop-2025/week14/index.du
new file mode 100644
index 0000000..c01f3b8
--- /dev/null
+++ b/src/teaching/oop-2025/week14/index.du
@@ -0,0 +1,27 @@
+# Задачи - ООП, Седмица 14, 27.05.2026
+
+'define expected-reading 2 min
+'define created 27 May 2026
+'define edited 27 May 2026
+[$pagenav]
+
+## За решаване
+
+### Задача
+
+Реализирайте клас [`Sensor`], който съхранява целочислен неотрицателен сериен номер и число с плаваща запетая за напрежение на захранване.
+Също имплементирайте методи, налични във всички наследници:
+.bulleted
+- [`GetType`], който връща типа на сензора (най-десните 2 цифри от серийния номер).
+- [`EnoughSupply`], който приема напрежение, което се подава на сензора и връща дали е достатъчно или не
+
+Реализирайте негови наследници [`CameraSensor`] и [`GyroSensor`].
+
+[`CameraSensor`] съхранява резолюция (височина и ширина) и брой взети снимки.
+При класа имплементирайте метод [`TakeSnapshot`], който инкрементира бройката взети снимки.
+
+[`GyroSensor`] съхранява скорост на измерване в [`dps`] (ъгли в секунда).
+Имплементирайте негов метод [`Rotate`], който по получен ъгъл връща най-малкото количество от време, което е нужно за да може сензора да измере въртенето.
+
+Реализирайте наследник [`DSLR`] на [`CameraSensor`] и [`GyroSensor`], който допълнително съхранява изходна резолюция (височина и ширина) и скорост на вземане на кадър.
+Имплементирайте член-функция [`CorrectedCapture`], която по подаден ъгъл, прави снимка и връща колко кадъра ще отнемат докато въртенето е напълно измерено.