From 777879eca378d9a286f981c70ff1dbc8c869b49b Mon Sep 17 00:00:00 2001 From: justuser-31 Date: Sun, 23 Mar 2025 20:51:25 +0300 Subject: [PATCH] up --- STEP1_Basics/3_Formatting/README.md | 7 +++++ STEP1_Basics/4_Double_array/README.md | 12 ++++++++ STEP1_Basics/5_Recursion/README.md | 4 +++ STEP1_Basics/6_Files/README.md | 6 ++++ STEP1_Basics/7_JSON/README.md | 43 +++++++++++++++++++++++++++ STEP1_Basics/8_Threads/README.md | 16 ++++++++++ STEP1_Basics/9_Network/README.md | 21 +++++++++++++ 7 files changed, 109 insertions(+) create mode 100644 STEP1_Basics/3_Formatting/README.md create mode 100644 STEP1_Basics/4_Double_array/README.md create mode 100644 STEP1_Basics/5_Recursion/README.md create mode 100644 STEP1_Basics/6_Files/README.md create mode 100644 STEP1_Basics/7_JSON/README.md create mode 100644 STEP1_Basics/8_Threads/README.md create mode 100644 STEP1_Basics/9_Network/README.md diff --git a/STEP1_Basics/3_Formatting/README.md b/STEP1_Basics/3_Formatting/README.md new file mode 100644 index 0000000..03d10c2 --- /dev/null +++ b/STEP1_Basics/3_Formatting/README.md @@ -0,0 +1,7 @@ +# Задание +Напишите программу, которая: +1. Запрашивающая число месяца (int), название месяца, год (int) +2. Сохраняет в следующих форматах: +2.1. Год-Месяц-Число +2.2. Число-Месяц-Год +3. Выводит на экран. diff --git a/STEP1_Basics/4_Double_array/README.md b/STEP1_Basics/4_Double_array/README.md new file mode 100644 index 0000000..ad9e1fc --- /dev/null +++ b/STEP1_Basics/4_Double_array/README.md @@ -0,0 +1,12 @@ +# Задание +1. Создайте матрицу 10 на 10 чисел. +2.1. Заполните с левого верхнего угла до верхнего правого цифрами от 0 до 9 включительно. +2.2. Заполните с левого верхнего угла до нижнего левого цифрами от 0 до 9 включительно. +3. Заполните оставшиеся элементы с координатами `x`,`y` произведением их координат (`x*y`) +4. Вывести на экран результат в виде: +``` +0 1 2 . +1 1 2 . +2 2 4 . +. . . . +``` diff --git a/STEP1_Basics/5_Recursion/README.md b/STEP1_Basics/5_Recursion/README.md new file mode 100644 index 0000000..3e15663 --- /dev/null +++ b/STEP1_Basics/5_Recursion/README.md @@ -0,0 +1,4 @@ +# Задание +1. Сгенерируйте список из 10 случайных чисел. +2. Напишите рекурсивную функцию для нахождения минимального числа (без сторонних мин.функций) +3. Выведите список и минимальное число. diff --git a/STEP1_Basics/6_Files/README.md b/STEP1_Basics/6_Files/README.md new file mode 100644 index 0000000..9dcef07 --- /dev/null +++ b/STEP1_Basics/6_Files/README.md @@ -0,0 +1,6 @@ +# Задание +1. Запросите `a`, `b` +2. Сформируйте матрицу 2 на 2, где первый элемент каждой строки - `a`/`b`, а следующий - `a + 1`/`b + 1` +3. Считайте данные по строкам, отформатируйте каждую строку так, чтобы между `n` и `n + 1` стоял пробел (`1 2`) +4. Запишите числа в файл. +5. Считайте числа и выведите их на экран. diff --git a/STEP1_Basics/7_JSON/README.md b/STEP1_Basics/7_JSON/README.md new file mode 100644 index 0000000..ce9a0be --- /dev/null +++ b/STEP1_Basics/7_JSON/README.md @@ -0,0 +1,43 @@ +# Задание +1. Записать (вручную) данные из приложения в файл `data.json` +2. Считать данные из файла для будущей обработки. +3.1. Найти студента с наибольшим средним баллом. +3.2. Найти всех студентов, чьи оценки по математике выше 80. +4. Вывести результаты поисков в формате: `Имя Фамилия возраст балл1-балл2-балл3` + +# Примечание +Можно написать свой парсер JSON, так задание поинтереснее. + +# Приложение +```json +[ + { + "name": "Иван Иванов", + "age": 21, + "grades": { + "math": 85, + "physics": 90, + "history": 78 + } + }, + { + "name": "Мария Петрова", + "age": 22, + "grades": { + "math": 92, + "physics": 88, + "history": 80 + } + }, + { + "name": "Алексей Смирнов", + "age": 23, + "grades": { + "math": 75, + "physics": 84, + "history": 79 + } + } +] + +``` diff --git a/STEP1_Basics/8_Threads/README.md b/STEP1_Basics/8_Threads/README.md new file mode 100644 index 0000000..ccd635c --- /dev/null +++ b/STEP1_Basics/8_Threads/README.md @@ -0,0 +1,16 @@ +# Задание +1. Создайте глобальную переменную `sum` +2. Создайте функцию, имеющую на входе кодовое имя (потока), которая будет: +* Блокировать доступ к `sum` +* Добавлять +1 к `sum` +* Выводить сообщение вида: `T1 | {sum}` +* Разрешать доступ к `sum` +* Завершаться, если прошла 3 цикла +3. Запустите 3 потока с созданными функциями передав им соответственно: `T1`, `T2`, `T3` +В итоге должно выйти `sum = 9` + +# Примечание +Потоки следует выполнять последовательно по кругу. + +Блокировку можно сделать так же через глобальную переменную. \ +Можно также написать главную функцию для управления потоками. diff --git a/STEP1_Basics/9_Network/README.md b/STEP1_Basics/9_Network/README.md new file mode 100644 index 0000000..5967ad5 --- /dev/null +++ b/STEP1_Basics/9_Network/README.md @@ -0,0 +1,21 @@ +# Задание +1. Создать 2 кода: клиент, сервер. +2. Клиент: +2.1. Отправить JSON из приложения. +2.2. Вывести статус от сервера. +3. Сервер: +3.1. Запустить вечное получение пакетов. +3.2. Получить пакет от клиента. +3.3. Распарсить JSON. +3.4. Вывести значения в виде `ключ - значение` +3.5. Отправить `OK` клиенту +3.6. Продолжить получение пакетов. + +# Приложение +``` +{ + "name": "Иван Иванов", + "age": 25, + "city": "Москва" +} +```