Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / oop-2025 / week06 / index.du
blob: 01fcbc3c33c768bd7d32af78ec55776b055e7285 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'def title Задачи - ООП, Седмица 6, 25.03.2026
'def  desc Условията на задачите за упражнение.

# {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}

Реализирайте програма, която създава {b текстов} файл "HelloWorld.txt" и записва в него низа {` Hello World!}.
Уверете се че файла се създава и това е неговото съдържание.

### Задача 2

.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}

Реализирайте програма, която приема на първия ред име на файл и след това текст.
Този текст може да е на няколко реда, като {b няма ограничение в дължината на редовете}!
Знака {` @} обозначава край на входния текст (и съответно, край на програмата).

Трябва като резултат да е създаден {b текстов} файл с подаденото име и съдържание.

### Задача 4

.solution-link {url  Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise04.cpp}

От входа получавате име на {b текстов} файл.
Трябва да изкарате всички редове във файла, в обратен ред (последния ред става първи, пред-последния втори и так. нат.).

.important
Използвайте минимално количество памет!

### Задача 5

.solution-link {url  Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise05.cpp}

От входа получавате на един ред име на файл.
След това неотрицателно цяло число {` N} и накрая {` N} на брой 64-битови числа с плаваща запетая.

Трябва да запазите всички тези числа в {b двоичен} файл с подаденото име.

.question
Каква е разликата между {` <<} и {` write}?
Кое е по-удачно тук?

### Задача 6

.solution-link {url  Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise06.cpp}

От входа получавате на един ред име на {b двоичен} файл.
Този файл съдържа 64-битови числа с плаваща запетая.

Изкарайте на екрана всички числа от файла.

Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход:
.table
.2
|= Файл
|= Изход
|: {url simple.dat;./simple.dat}
|: 1.1 2.2 3.3 4.4 5.5
|: {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}

Реализирайте структура {` Smartphone}, която съдържа цяло 16-битово число за номер на версията на операционната система, неотрицателно 64-битово число за сериен номер, 32-битово число с плаваща запетая за {url SAR;https://www.gsmarena.com/glossary.php3?term=sar} и буква за ревизия на хардуера, {b в този ред}.

От входа получавате неотрицателно цяло число {` N} и след това данни за {` N} на брой смартфона.
Трябва да запишете всички тези стойности в {b двоичен} файл.

### Задача 8

.solution-link {url  Решение;https://github.com/Syndamia/oop-2025-solutions/tree/main/Week06/Exercise08.cpp}

Реализирайте структура {` Smartphone} със същите полета като в предходната задача.

От входа получавате на един ред името на {b двоичен} файл.
Трябва да изкарате на екрана (стойностите на) всички смартофони във файла.

Изтеглете следните файлове и проверете дали вашата програма изкарва коректен изход:
.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