Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / oop-2025 / week06 / index.du
diff options
context:
space:
mode:
1 files changed, 38 insertions, 36 deletions
-rw-r--r--src/teaching/oop-2025/week06/index.du74
diff --git a/src/teaching/oop-2025/week06/index.du b/src/teaching/oop-2025/week06/index.du
index e3cb3b3..01fcbc3 100644
--- a/src/teaching/oop-2025/week06/index.du
+++ b/src/teaching/oop-2025/week06/index.du
@@ -1,41 +1,41 @@
-# Задачи - ООП, Седмица 6, 25.03.2026
+'def title Задачи - ООП, Седмица 6, 25.03.2026
+'def desc Условията на задачите за упражнение.
-'define expected-reading 3 min
-'define created 24 March 2026
-'define edited 24 March 2026
-[$pagenav]
+# {title}
+
+{pagenav 3 min;24 March 2026;24 March 2026}
## За решаване
### Задача 1
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise01.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise01.cpp}
-Реализирайте програма, която създава [=текстов=] файл "HelloWorld.txt" и записва в него низа [`Hello World!`].
+Реализирайте програма, която създава {b текстов} файл "HelloWorld.txt" и записва в него низа {` Hello World!}.
Уверете се че файла се създава и това е неговото съдържание.
### Задача 2
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise02.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise02.cpp}
-От входа получавате име на [=текстов=] файл.
+От входа получавате име на {b текстов} файл.
След това трябва да принтирате съдържанието на този файл.
### Задача 3
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise03.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise03.cpp}
Реализирайте програма, която приема на първия ред име на файл и след това текст.
-Този текст може да е на няколко реда, като [=няма ограничение в дължината на редовете=]!
-Знака [`@`] обозначава край на входния текст (и съответно, край на програмата).
+Този текст може да е на няколко реда, като {b няма ограничение в дължината на редовете}!
+Знака {` @} обозначава край на входния текст (и съответно, край на програмата).
-Трябва като резултат да е създаден [=текстов=] файл с подаденото име и съдържание.
+Трябва като резултат да е създаден {b текстов} файл с подаденото име и съдържание.
### Задача 4
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise04.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise04.cpp}
-От входа получавате име на [=текстов=] файл.
+От входа получавате име на {b текстов} файл.
Трябва да изкарате всички редове във файла, в обратен ред (последния ред става първи, пред-последния втори и так. нат.).
.important
@@ -43,60 +43,62 @@
### Задача 5
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise05.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise05.cpp}
От входа получавате на един ред име на файл.
-След това неотрицателно цяло число [`N`] и накрая [`N`] на брой 64-битови числа с плаваща запетая.
+След това неотрицателно цяло число {` N} и накрая {` N} на брой 64-битови числа с плаваща запетая.
-Трябва да запазите всички тези числа в [=двоичен=] файл с подаденото име.
+Трябва да запазите всички тези числа в {b двоичен} файл с подаденото име.
.question
-Каква е разликата между [`<<`] и [`write`]?
+Каква е разликата между {` <<} и {` write}?
Кое е по-удачно тук?
### Задача 6
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise06.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise06.cpp}
-От входа получавате на един ред име на [=двоичен=] файл.
+От входа получавате на един ред име на {b двоичен} файл.
Този файл съдържа 64-битови числа с плаваща запетая.
Изкарайте на екрана всички числа от файла.
Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход:
-.table_2
+.table
+.2
|= Файл
|= Изход
-|: [url ./simple.dat simple.dat]
+|: {url simple.dat;./simple.dat}
|: 1.1 2.2 3.3 4.4 5.5
-|: [url ./empty.dat empty.dat]
-|: [*нищо, файла е празен*]
-|: [url ./constants.dat constants.dat]
+|: {url empty.dat;./empty.dat}
+|: {i нищо, файла е празен}
+|: {url constants.dat;./constants.dat}
|: 2.71828 3.14159 1.61803 0.57721
### Задача 7
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise07.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise07.cpp}
-Реализирайте структура [`Smartphone`], която съдържа цяло 16-битово число за номер на версията на операционната система, неотрицателно 64-битово число за сериен номер, 32-битово число с плаваща запетая за [url https://www.gsmarena.com/glossary.php3?term=sar SAR] и буква за ревизия на хардуера, [=в този ред=].
+Реализирайте структура {` Smartphone}, която съдържа цяло 16-битово число за номер на версията на операционната система, неотрицателно 64-битово число за сериен номер, 32-битово число с плаваща запетая за {url SAR;https://www.gsmarena.com/glossary.php3?term=sar} и буква за ревизия на хардуера, {b в този ред}.
-От входа получавате неотрицателно цяло число [`N`] и след това данни за [`N`] на брой смартфона.
-Трябва да запишете всички тези стойности в [=двоичен=] файл.
+От входа получавате неотрицателно цяло число {` N} и след това данни за {` N} на брой смартфона.
+Трябва да запишете всички тези стойности в {b двоичен} файл.
### Задача 8
-.solution-link [url https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise08.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise08.cpp}
-Реализирайте структура [`Smartphone`] със същите полета като в предходната задача.
+Реализирайте структура {` Smartphone} със същите полета като в предходната задача.
-От входа получавате на един ред името на [=двоичен=] файл.
+От входа получавате на един ред името на {b двоичен} файл.
Трябва да изкарате на екрана (стойностите на) всички смартофони във файла.
Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход:
-.table_2
+.table
+.2
|= Файл
|= Изход
-|: [url ./galaxyS26Ultra.dat galaxyS26Ultra.dat]
+|: {url galaxyS26Ultra.dat;./galaxyS26Ultra.dat}
|: 16 83001852 1.09 B
-|: [url ./oneplus15.dat oneplus15.dat]
+|: {url oneplus15.dat;./oneplus15.dat}
|: 16 55929 1.17 A\n16 95200 1.17 T\n16 110999 1.08 R