diff options
1 files changed, 86 insertions, 0 deletions
| -rw-r--r-- | src/teaching/oop-2025/week06/index.du | 86 |
diff --git a/src/teaching/oop-2025/week06/index.du b/src/teaching/oop-2025/week06/index.du new file mode 100644 index 0000000..052737e --- /dev/null +++ b/src/teaching/oop-2025/week06/index.du @@ -0,0 +1,86 @@ +# Задачи - ООП, Седмица 6, 25.03.2026 + +'define expected-reading 3 min +'define created 24 March 2026 +'define edited 24 March 2026 +[$pagenav] + +## За решаване + +### Задача 1 + +Реализирайте програма, която създава [=текстов=] файл "HelloWorld.txt" и записва в него низа [`Hello World!`]. +Уверете се че файла се създава и това е неговото съдържание. + +### Задача 2 + +От входа получавате име на [=текстов=] файл. +След това трябва да принтирате съдържанието на този файл. + +### Задача 3 + +Реализирайте програма, която приема на първия ред име на файл и след това текст. +Този текст може да е на няколко реда, като [=няма ограничение в дължината на редовете=]! +Знака [`@`] обозначава край на входния текст (и съответно, край на програмата). + +Трябва като резултат да е създаден [=текстов=] файл с подаденото име и съдържание. + +### Задача 4 + +От входа получавате име на [=текстов=] файл. +Трябва да изкарате всички редове във файла, в обратен ред (последния ред става първи, пред-последния втори и так. нат.). + +.important +Използвайте минимално количество памет! + +### Задача 5 + +От входа получавате на един ред име на файл. +След това неотрицателно цяло число [`N`] и накрая [`N`] на брой 64-битови числа с плаваща запетая. + +Трябва да запазите всички тези числа в [=двоичен=] файл с подаденото име. + +.question +Каква е разликата между [`<<`] и [`write`]? +Кое е по-удачно тук? + +### Задача 6 + +От входа получавате на един ред име на [=двоичен=] файл. +Този файл съдържа 64-битови числа с плаваща запетая. + +Изкарайте на екрана всички числа от файла. + +Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход: +.table_2 +|= Файл +|= Изход +|: [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] +|: 2.71828 3.14159 1.61803 0.57721 + +### Задача 7 + +Реализирайте структура [`Smartphone`], която съдържа цяло 16-битово число за номер на версията на операционната система, неотрицателно 64-битово число за сериен номер, 32-битово число с плаваща запетая за [url https://www.gsmarena.com/glossary.php3?term=sar SAR] и буква за ревизия на хардуера, [=в този ред=]. + +От входа получавате неотрицателно цяло число [`N`] и след това данни за [`N`] на брой смартфона. +Трябва да запишете всички тези стойности в [=двоичен=] файл. + +### Задача 8 + +Реализирайте структура [`Smartphone`] със същите полета като в предходната задача. + +От входа получавате на един ред името на [=двоичен=] файл. +Трябва да изкарате на екрана (стойностите на) всички смартофони във файла. + +Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход: +.table_2 +|= Файл +|= Изход +|: [url ./galaxyS26Ultra.dat galaxyS26Ultra.dat] +|: 16 83001852 1.09 B +|: [url ./oneplus15.dat oneplus15.dat] +|: 16 55929 1.17 A\n16 95200 1.17 T\n16 110999 1.08 R |