From 8e411a14c76fc08391049eab2e46b176f791cebc Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 25 Mar 2026 09:27:13 +0200 Subject: feat(teaching/oop-2025/w06): Add exercises --- meta/meta.tsv | 1 + src/teaching/oop-2025/index.du | 9 +++ src/teaching/oop-2025/week06/constants.dat | 1 + src/teaching/oop-2025/week06/empty.dat | 0 src/teaching/oop-2025/week06/galaxyS26Ultra.dat | Bin 0 -> 24 bytes src/teaching/oop-2025/week06/index.du | 86 ++++++++++++++++++++++++ src/teaching/oop-2025/week06/oneplus15.dat | Bin 0 -> 72 bytes src/teaching/oop-2025/week06/simple.dat | Bin 0 -> 40 bytes 8 files changed, 97 insertions(+) create mode 100644 src/teaching/oop-2025/week06/constants.dat create mode 100644 src/teaching/oop-2025/week06/empty.dat create mode 100644 src/teaching/oop-2025/week06/galaxyS26Ultra.dat create mode 100644 src/teaching/oop-2025/week06/index.du create mode 100644 src/teaching/oop-2025/week06/oneplus15.dat create mode 100644 src/teaching/oop-2025/week06/simple.dat diff --git a/meta/meta.tsv b/meta/meta.tsv index 38b5474..86959a9 100644 --- a/meta/meta.tsv +++ b/meta/meta.tsv @@ -121,6 +121,7 @@ teaching/oop-2025/week03/index.html Задачи - ООП, Седмица 3, 04. teaching/oop-2025/week04/index.html Задачи - ООП, Седмица 4, 11.03.2026 Условията на задачите за упражнение. teaching/oop-2025/week05/index.html Задачи - ООП, Седмица 5, 18.03.2026 Условията на задачите за упражнение. teaching/oop-2025/oop-notes/index.html Бележки по ООП при C++ - ООП, КН, 2025-2026 Полезна информация и детайли относно обектно-ориентираното програмиране при C++ +teaching/oop-2025/week06/index.html Задачи - ООП, Седмица 6, 25.03.2026 Условията на задачите за упражнение. blog/connect-to-mysql-in-dotnet-ef/index.html Connect to MySql in .NET and Entity Framework Connecting a .NET application to a MySql database (with Entity Framework) can be tricky. Here is what works for me. diff --git a/src/teaching/oop-2025/index.du b/src/teaching/oop-2025/index.du index fa6b58d..56f6604 100644 --- a/src/teaching/oop-2025/index.du +++ b/src/teaching/oop-2025/index.du @@ -73,3 +73,12 @@ |: |: [url ./week05 Задачи] + +|: 6 +|: 25.03.2026 +|: Файлове + +|: +|: +|: +[url ./week06 Задачи] diff --git a/src/teaching/oop-2025/week06/constants.dat b/src/teaching/oop-2025/week06/constants.dat new file mode 100644 index 0000000..b6a0165 --- /dev/null +++ b/src/teaching/oop-2025/week06/constants.dat @@ -0,0 +1 @@ +�÷ª• ¿@JØMû! @Ž”-’vãù?¸’�xâ? \ No newline at end of file diff --git a/src/teaching/oop-2025/week06/empty.dat b/src/teaching/oop-2025/week06/empty.dat new file mode 100644 index 0000000..e69de29 diff --git a/src/teaching/oop-2025/week06/galaxyS26Ultra.dat b/src/teaching/oop-2025/week06/galaxyS26Ultra.dat new file mode 100644 index 0000000..5c26587 Binary files /dev/null and b/src/teaching/oop-2025/week06/galaxyS26Ultra.dat differ 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 diff --git a/src/teaching/oop-2025/week06/oneplus15.dat b/src/teaching/oop-2025/week06/oneplus15.dat new file mode 100644 index 0000000..9f578f2 Binary files /dev/null and b/src/teaching/oop-2025/week06/oneplus15.dat differ diff --git a/src/teaching/oop-2025/week06/simple.dat b/src/teaching/oop-2025/week06/simple.dat new file mode 100644 index 0000000..fbde419 Binary files /dev/null and b/src/teaching/oop-2025/week06/simple.dat differ -- cgit v1.3.1-23-gd82d