You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: TASKS.md
+26-5Lines changed: 26 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,38 +7,45 @@
7
7
> Здесь приведены задания для варианта №7
8
8
9
9
### Lab 0
10
+
10
11
**Задание:** Ввести три целых числа. Вычислить и вывести произведение первого и второго числа
11
12
12
13
**Доп:** Третье число умножить на второе и поделить на первое. Вывести результат как float
13
14
14
15
### Lab 1
16
+
15
17
**Задание:** Ввести 10 действительных чисел. Вывести максимальное по абсолютной величине число
16
18
17
19
**Доп:** Вывести все локальные максимумы введенного массива
18
20
19
21
### Lab 2
22
+
20
23
**Задание:** Ввести строку, выяснить, нет ли повторяющихся слов, и вывести их, если они есть. Можно считать, что все слова имеют длину ровно 3 символа
21
24
22
25
**Доп:** Вывести исходную строку без тех слов, которые встречались больше 1 раза
23
26
24
27
### Lab 3
28
+
25
29
> Необходимо написать функцию и тестирующую программу, которая вводит исходные данные, вызывает функцию и выводит результат её работы
26
30
27
31
**Задание:** Написать функцию, которая вставляет в массив элемент с заданным индексом и заданным значением. Лишний элемент должен пропасть
28
32
29
33
**Доп:** Написать функцию, которая вставляет в массив 0 после максимального элемента. Размер массива должен увеличиться
30
34
31
35
### Lab 4
36
+
32
37
**Задание:** Ввести строку. Вывести различные слова вместе с количеством их появления в строке
33
38
34
39
**Доп:** Вывести различные слова с сортировкой по алфавиту
35
40
36
41
### Lab 5
42
+
37
43
**Задание:** Ввести строку. Заменить знаки препинания на сокращения (пример: тчк, зпт, впр, дтч) (можно использовать английские аналоги)
38
44
39
45
**Доп:** Обратное задание: сокращения заменить на символы (регистр не учитывать) (можно использовать только английские слова)
40
46
41
47
### Lab 6
48
+
42
49
> Во всех заданиях располагать узлы списка/дерева в динамической памяти
43
50
> Предусмотреть функции вывода на экран списка/дерева
44
51
@@ -47,41 +54,50 @@
47
54
**Доп:** Сделать управление функциями (0 - выход из цикла, 1 - удаление элемента, 2 - вставка элемента, и т.д)
48
55
49
56
## Semester 2
50
-
> В лабораторных работах второго семестра настоятельно рекомендуется использовать функции стандартной библиотеки вместо собственного кода, если это не противоречит заданию
51
57
58
+
> В лабораторных работах второго семестра настоятельно рекомендуется использовать функции стандартной библиотеки вместо собственного кода, если это не противоречит заданию
59
+
>
52
60
> Во всех последующих лабораторных работах необходимо разделять исходный код на 3 файла: в файле **main.cpp** располагается управляющая функция main, в файле **my_lab.cpp** (название может отличаться) ― функции в соответствии с заданием (ввод/вывод исходных данных, основная логика задания и т.п.), а в файле **my_lab.h** ― прототипы функций из my_lab.cpp
53
-
61
+
>
54
62
> Далее приведены задания для варианта №6
55
63
56
64
### Lab 7
65
+
57
66
**Задание:** Написать генератор псевдослучайных чисел по алгоритму `f(n) = f(n-1) + f(n-2) + f(n-3) mod 211` (начальные условия: `f(0) = f(1) = f(2) = 1`). Подсчитать частоту каждого числа при выборке 100000
58
67
> Линский: рекурсивная реализация неэффективна! Для лабы нужно уменьшить сложность (через глобальные переменные или параметры)
59
68
60
69
### Lab 8
70
+
61
71
**Задание:** Сортировка вставками: пусть первые k элементов упорядочены по возрастанию. Берется (k+1)-ый элемент и размещается среди первых k так, чтобы упорядоченными оказались k+1 элементов. Этот метод применяется при k от 1 до n-1
62
72
63
73
### Lab 9
64
-
**Задание:** Ввести n и числа a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub>. Вычислить и вывести коэффициенты многочлена p(x) = (x - a<sub>1</sub>) * (x - a<sub>2</sub>) * ... * (x - a<sub>n</sub>) (Для этого написать вспомогательную функцию для умножения двух многочленов)
74
+
75
+
**Задание:** Ввести n и числа a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub>. Вычислить и вывести коэффициенты многочлена p(x) = (x - a<sub>1</sub>) *(x - a<sub>2</sub>)* ... * (x - a<sub>n</sub>) (Для этого написать вспомогательную функцию для умножения двух многочленов)
65
76
66
77
### Lab 10
78
+
67
79
> Использовать функции **fopen**, **fclose**, **fgets**
68
80
69
81
**Задание:** По символьному файлу с текстом создать новый файл с форматированным текстом, в котором в каждой строке первое слово начинается с 3-ей позиции, а последнее заканчивается в 60-ой позиции
70
82
71
83
### Lab 11
84
+
72
85
**Задание:** Написать функцию `const char* strpbrk(const char *string, const char *strCharSet)` работающую так же, как библиотечная и тестирующую программу к ней
73
86
74
87
### Lab 12
88
+
75
89
> Используйте приватные поля для данных, определите конструктор, который должен содержать значения по умолчанию, напишите методы установки и извлечения значений (set, get), выполнения операций ввода и вывода значения объекта созданного класса. Напишите конструктор копий, оператор присваивания, деструктор. Напишите программу для тестирования вашего класса
76
90
77
91
**Задание:** Создайте класс `HugeInt`, который хранит в 40-элементном массиве цифр целые числа разрядностью до 40 знаков. Разрядность указать в конструкторе. Предусмотреть функции сложения, вычитания, сравнения и проверки на 0
78
92
79
93
### Lab 13
94
+
80
95
> Для всех заданий используйте приватные поля для данных, определите конструктор, который должен содержать значения по умолчанию, напишите функции-элементы установки и извлечения значений, перегруженные операторы ввода и вывода значения объекта созданного класса и указанные в задании перегруженные операции. Напишите конструктор копий, оператор присваивания, деструктор, если требуется. Напишите программу для тестирования вашего класса и всех операций
> Номера заданий выдаются индивидуально по запросу
86
102
> Здесь приведено задание для варианта 2
87
103
@@ -91,7 +107,7 @@
91
107
92
108
Программа должна уметь работать с фигурами, указанными в задании. Каждая фигуру должна уметь выводить на экран свои параметры **в текстовом режиме** с помощью метода print(). Возможно, в будущем будут добавлены новые фигуры.
93
109
94
-
Класс FigureList должен быть основан на связном списке. Связаный список должен быть реализован с помощью двух классов Node (элемент списка) и List (сам список).
110
+
Класс FigureList должен быть основан на связном списке. Связаный список должен быть реализован с помощью двух классов Node (элемент списка) и List (сам список).
95
111
96
112
```c++
97
113
classFigureList
@@ -111,17 +127,22 @@ class FigureList
111
127
```
112
128
113
129
Программа должна работать с фигурами:
130
+
114
131
* Circle (параметры: радиус, надпись произвольной длины)
115
132
* Segment (параметры: координаты начала и коодинаты конца)
116
133
117
134
## Educational Practice
135
+
118
136
> Требования к заданиям:
137
+
>
119
138
> * указывать имена файлов исходных и результирующих файлов в командной строке
120
139
> * файлы, после обработки заголовков, читать целиком в динамически заказанную память
121
140
> * использовать в работе информацию из папки [Форматы](https://drive.google.com/drive/folders/12bxUiI0kUxZr93gR5xvFAoCZyQIY1Lz_?usp=sharing)
122
141
123
142
### Lab 15
143
+
124
144
**Задание:** Написать программу, формирующую по исходному BMP файлу новый BMP файл, повернутый по часовой стрелке на 90 градусов
125
145
126
146
### Lab 16
127
-
**Задание:** Написать программу, формирующую по исходному WAV (16 бит на отсчет) файлу новый WAV файл (8 бит на отсчет)
147
+
148
+
**Задание:** Написать программу, формирующую по исходному WAV (16 бит на отсчет) файлу новый WAV файл (8 бит на отсчет)
0 commit comments