diff options
1 files changed, 38 insertions, 36 deletions
| -rw-r--r-- | src/teaching/oop-2025/week06/index.du | 74 |
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 |