From 191df131bdb61b6788789867ca7b970f8934e48d Mon Sep 17 00:00:00 2001 From: joker Date: Mon, 23 Oct 2023 23:19:28 +0300 Subject: [PATCH] modified: content/posts/informatics/textbook-python.mdx deleted: content/posts/olimp/practice-test-10-11-robotics.mdx deleted: content/posts/olimp/practice-test-5-6-robotics.mdx new file: content/posts/textbook/python.mdx modified: styles/markdown.css --- content/posts/informatics/textbook-python.mdx | 6 +- .../olimp/practice-test-10-11-robotics.mdx | 651 -------- .../olimp/practice-test-5-6-robotics.mdx | 504 ------ content/posts/textbook/python.mdx | 1454 +++++++++++++++++ styles/markdown.css | 7 + 5 files changed, 1463 insertions(+), 1159 deletions(-) delete mode 100644 content/posts/olimp/practice-test-10-11-robotics.mdx delete mode 100644 content/posts/olimp/practice-test-5-6-robotics.mdx create mode 100644 content/posts/textbook/python.mdx diff --git a/content/posts/informatics/textbook-python.mdx b/content/posts/informatics/textbook-python.mdx index ff1efa0..541a18c 100644 --- a/content/posts/informatics/textbook-python.mdx +++ b/content/posts/informatics/textbook-python.mdx @@ -8,7 +8,5 @@ tags: - Python --- -[0. Ввод и вывод](https://convertio.co/ru/ocr/) -[Распознавание текста (OCR). Онлайн](input) -[Распознавание текста (OCR). Онлайн](https://convertio.co/ru/ocr/) -[Распознавание текста (OCR). Онлайн](https://convertio.co/ru/ocr/) \ No newline at end of file + +[Распознавание текста (OCR). Онлайн](/textbook/python/input_n_output) diff --git a/content/posts/olimp/practice-test-10-11-robotics.mdx b/content/posts/olimp/practice-test-10-11-robotics.mdx deleted file mode 100644 index c362f0b..0000000 --- a/content/posts/olimp/practice-test-10-11-robotics.mdx +++ /dev/null @@ -1,651 +0,0 @@ ---- -title: Олимпиада по робототехники школьный этап 10 - 11 класc. Пробный вариант. -excerpt: Пробный вариант за 10 - 11 класс 2023-24 год. -date: '2023-09-06' -tags: - - Робототехника - - Олимпиада ---- - -Перед Вами пробный варинат олимпиадных задний по профилю технология в правление робототехника. К каждому вопросу в олимпиаде идет 5 разных вопросов по схожей теме. - - - -- [Вопрос № 1](#вопрос--1) -- [Вопрос № 2](#вопрос--2) -- [Вопрос № 3](#вопрос--3) -- [Вопрос № 4](#вопрос--4) -- [Вопрос № 5](#вопрос--5) -- [Вопрос № 6](#вопрос--6) -- [Вопрос № 7](#вопрос--7) -- [Вопрос № 8](#вопрос--8) -- [Вопрос № 9](#вопрос--9) -- [Вопрос № 10](#вопрос--10) -- [Вопрос № 12](#вопрос--12) -- [Вопрос № 13](#вопрос--13) -- [Вопрос № 14](#вопрос--14) -- [Вопрос № 15](#вопрос--15) - - -## Вопрос № 1 - 1.1 Какой тип дисплея наиболее распространен в современных смартфонах? - - а. OLED - - б. CRT - - в. Plasma - - г. LCD - - 1.2 Какая компания разработала первый персональный компьютер? - - a. IBM - - b. Microsoft - - c. Apple - - d. Intel - - 1.3 Какой вид памяти используется в большинстве USB-накопителей? - - a RAM - - b. ROM - - c. Flash - - d. SRAM - - 1.4. Какие виды беспроводных связей поддерживает современный смартфон? - - a. 3G, 4G, 5G - - b. AM, FM, SW - - c. USB, HDMI, Ethernet - - d. VHS, Betamax, DVD - - 1.5. Какой тип аккумулятора наиболее распространен в портативных ноутбуках и смартфонах? - - a. Литий-ионный - - b.. Никель-кадмиевый - - c. Свинцово-кислотный - - d. Алкалиновый - -## Вопрос № 2 - 2.1 Это устройство используется для замера температуры внутри печи. Какое устройство это? - - a. Термометр - - b. Телефон - - c. Телевизор - - d. Фотоаппарат - - 2.2 Это устройство обеспечивает связь между компьютерами внутри одного офиса. Какое устройство это? - - a. Микроволновка - - b. Маршрутизатор - - c. Смартфон - - d. Магнитофон - - 2.3 Это устройство используется для управления высотой полета воздушных шаров. Какое устройство это? - - a. Палка для селфи - - b. Радио - - c. Шарикоподшипник - - d. Баллон с гелием - - 2.4 Это устройство применяется для измерения скорости движения автомобилей на дорогах. Какое устройство это? - - a. Микроволновая печь - - b. Велосипед - - c. Радар - - d. Гитара - - 2.5. Это устройство позволяет записывать звук и воспроизводить его. Какое устройство это? - - a. Фотоаппарат - - b. Магнитофон - - c. Смартфон - - d. Велосипед - -## Вопрос № 3 - 3.1 Какое из следующих утверждений верно относительно равнопеременного движения роботов А и Б? - - a. Робот А всегда будет двигаться быстрее. - - b. Робот Б всегда будет двигаться быстрее. - - c. Роботы А и Б будут двигаться с одинаковой скоростью. - - d. Скорость движения роботов будет зависеть от их амплитуды. - - 3.2 Если фазы равнопеременного движения роботов А и Б различаются на 180 градусов, как изменится их относительное положение со временем? - - a. Робот А и Б всегда будут находиться в одной точке. - - b. Робот А и Б будут двигаться в противоположных направлениях. - - c. Робот А и Б будут двигаться в одном направлении. - - d. Относительное положение роботов не изменится. - - 3.3 Если амплитуда движения робота А увеличивается со временем, как это повлияет на его относительное положение по сравнению с роботом Б? - - a. Робот А будет приближаться к роботу Б. - - b. Робот А будет удаляться от робота Б. - - c. Относительное положение роботов не изменится. - - d. Ответ зависит от разницы в фазах движения. - - 3.4 Если фаза движения робота А опережает фазу робота Б на 90 градусов, как это повлияет на их относительное положение? - - a. Робот А всегда будет опережать робота Б на 90 градусов. - - b. Робот Б всегда будет опережать робота А на 90 градусов. - - c. Роботы А и Б будут находиться в одной точке. - - d. Ответ зависит от амплитуд движения роботов. - - 3.5 Если оба робота имеют одинаковую амплитуду и фазу движения, как изменится их относительное положение со временем? - - a. Робот А всегда будет опережать робота Б. - - b. Робот Б всегда будет опережать робота А. - - c. Роботы А и Б будут двигаться с одинаковой скоростью в одном направлении. - - d. Относительное положение роботов не изменится. - -## Вопрос № 4 - 4.1 Какой источник энергии становится все более популярным в мировой энергетике? - - a. Уголь - - b. Нефть - - c. Ветряная энергия - - d. Гидроэнергия - - 4.2 Какое технологическое средство способствует увеличению эффективности производства энергии? - - a. Угольная печь - - b. Усовершенствованный трансформатор - - c. Солнечные панели - - d. Паровая машина - - 4.3 Какая стратегия по сокращению выбросов парниковых газов стала важной для развития мировой энергетики? - - a. Увеличение использования угля - - b. Расширение производства нефти - - c. Переход на альтернативные источники энергии - - d. Усовершенствование производства газа - - 4.4 Какая область энергетики представляет собой наибольший потенциал для роста в ближайшие десятилетия? - - a. Энергия ветра - - b. Энергия урана - - c. Энергия нефти - - d. Энергия угля - - 4.5 Какие меры мировое сообщество предпринимает для увеличения энергетической эффективности? - - a. Субсидирование нефтяных компаний - - b. Внедрение стандартов энергосбережения - - c. Увеличение добычи природного газа - - d. Усовершенствование транспортных средств с низким расходом топлива - -## Вопрос № 5 - 5.1 Какие преимущества приносит наука в развитие технологий и производства? - - a. Улучшение качества продукции - - b. Снижение затрат на производство - - c. Увеличение прибыли компаний - - d. Увеличение числа рабочих мест - - 5.2 Какие области науки наиболее активно влияют на развитие технологий? - - a. Биология и медицина - - b. Физика и химия - - c. Гуманитарные науки - - d. Социальные науки - - 5.3. Какие факторы способствуют успешному внедрению научных исследований в производство? - - a. Государственная поддержка научных проектов - - b. Инновационная культура в организации - - c. Высокий уровень конкуренции на рынке - - d. Отсутствие патентных прав на научные разработки - - 5.4. Какие вызовы могут возникнуть при интеграции науки и производства? - - a. Этические дилеммы - - b. Увеличение экологического воздействия - - c. Сокращение прибыли компаний - - d. Отсутствие интереса со стороны научных исследователей - - 5.5 Какие перспективы видите в будущем для сотрудничества науки и производства? - - a. Более эффективное использование ресурсов - - b. Развитие более экологичных технологий - - c. Увеличение зависимости от иностранных технологий - - d. Сокращение роли науки в производстве - -## Вопрос № 6 - 6.1 Робот движется равномерно по окружности диаметром 30 см. Скорость робота составляет 10 см/сек. Сколько времени ему потребуется для одного полного оборота вокруг окружности? Выберите ближайший вариант. - - a. 12 секунд - - b. 15 секунд - - c. 18 секунд - - d. 20 секунд - - 6.2 Робот движется равномерно по окружности диаметром 15 см. Скорость робота составляет 20 см/сек. Сколько времени ему потребуется для одного полного оборота вокруг окружности? Выберите ближайший вариант. - - a. 5 секунд - - b. 7.5 секунд - - c. 10 секунд - - d. 12 секунд - - 6.3 Робот движется равномерно по окружности диаметром 25 см. Скорость робота составляет 18 см/сек. Сколько времени ему потребуется для одного полного оборота вокруг окружности? Выберите ближайший вариант. - - a. 8 секунд - - b. 10 секунд - - c. 12 секунд - - d. 15 секунд - - 6.4. Робот движется равномерно по окружности диаметром 40 см. Скорость робота составляет 12 см/сек. Сколько времени ему потребуется для одного полного оборота вокруг окружности? Выберите ближайший вариант. - - a. 10 секунд - - b. 15 секунд - - c. 20 секунд - - d. 25 секунд - - 6.5. Робот движется равномерно по окружности диаметром 18 см. Скорость робота составляет 25 см/сек. Сколько времени ему потребуется для одного полного оборота вокруг окружности? Выберите ближайший вариант. - - a. 4.5 секунд - - b. 5 секунд - - c. 6 секунд - - d. 7.2 секунды - -## Вопрос № 7 - 7.1 Андрей собрал редуктор с ведущей шестерёнкой на 12 зубьев и ведомой на 60 зубьев. Между ними находится две паразитные шестерёнки: одна на 30 зубов и другая на 15 зубов. Если ведущая ось вращается со скоростью 40 оборотов в секунду, то какая будет скорость ведомой оси? - - 7.2 Юлия создала механизм с ведущей шестерёнкой на 10 зубьев и ведомой на 50 зубьев. Между ними установлена паразитная шестерёнка на 20 зубов. Если скорость ведущей оси составляет 60 оборотов в минуту, то какова будет скорость ведомой оси? - - 7.3 Петр собрал редуктор, в котором ведущая шестерёнка имеет 16 зубьев, а ведомая - 64 зуба. Между ними находится паразитная шестерёнка на 32 зуба. Если скорость ведущей оси составляет 80 оборотов в минуту, то какая будет скорость ведомой оси? - - 7.4 Олег собирает редуктор с ведущей шестерёнкой на 18 зубьев и ведомой на 72 зуба. Между ними устанавливается паразитная шестерёнка на 36 зубов. Если ведущая ось вращается со скоростью 90 оборотов в минуту, то какова будет скорость ведомой оси? - - 7.5 Мария создала механизм с ведущей шестерёнкой на 14 зубьев и ведомой на 70 зубов. Между ними находится паразитная шестерёнка на 28 зубов. Если скорость ведущей оси составляет 56 оборотов в минуту, то какая будет скорость ведомой оси? - - -## Вопрос № 8 - 8.1 Какова временная сложность алгоритма сортировки "Слиянием" для массива из N элементов? - - a. O(N) - - b. O(N*log(N)) - - c. O(N^2) - - d. O(log(N)) - - 8.2 Какова пространственная сложность алгоритма быстрой сортировки (Quick Sort. для массива из N элементов)? - - a. O(N) - - b. O(log(N)) - - c. O(N*log(N)) - - d. O(1) - - 8.3 Какова временная сложность линейного поиска в массиве из N элементов? - - a. O(N) - - b. O(log(N)) - - c. O(N*log(N)) - - d. O(1. - - 8.4 Какова пространственная сложность алгоритма обратного хода (Backtracking. при решении задачи коммивояжера для N городов)? - - a. O(N) - - b. O(N) - - c. O(log(N)) - - d. O(1) - - 8.5 Какова временная сложность алгоритма поиска наименьшего общего предка (LCA. в бинарном дереве с N узлами)? - - a. O(N) - - b. O(log(N)) - - c. O(N*log(N))) - - d. O(1) - -## Вопрос № 9 - 9.1 Какая оптимизация может снизить количество рекурсивных вызовов в быстрой сортировке? - - a. Использование хвостовой рекурсии - - b. Увеличение максимальной глубины рекурсии - - c. Применение сортировки слиянием вместо быстрой сортировки - - d. Уменьшение размера входного массива - - 9.2 Какая структура данных может помочь улучшить производительность быстрой сортировки? - - a. Стек - - b. Очередь - - c. Связанный список - - d. Двоичное дерево - - 9.3 Какие случаи данных лучше всего подходят для быстрой сортировки? - - a. Массивы с уникальными значениями - - b. Массивы с большим количеством повторяющихся элементов - - c. Массивы, уже отсортированные по возрастанию - - d. Массивы, отсортированные в обратном порядке - - 9.4 Какая оптимизация может уменьшить использование дополнительной памяти в быстрой сортировке? - - a. Использование рекурсии вместо итерации - - b. Выделение большего объема памяти заранее - - c. Использование встроенных функций сортировки - - d. Минимизация использования дополнительных структур данных - - 9.5 Какой выбор опорного элемента может повысить эффективность быстрой сортировки? - - a. Случайный выбор элемента - - b. Всегда выбирать первый элемент массива - - c. Всегда выбирать средний элемент массива - - d. Всегда выбирать последний элемент массива - -## Вопрос № 10 - 10.1 Дистанционное управление роботом: Робот двигался по лабиринту в течение 30 минут с постоянной скоростью 2 м/с. Определите, сколько метров прошел робот. - 10.2 Исследование роботом под водой: Робот-подводник преодолел 5 километров и сделал 200 оборотов винта. Какое расстояние он преодолел за один оборот винта? - 10.3 Скорость движения робота-марсохода: Робот-марсоход проехал 10 километров за 2 часа. Определите его скорость в м/с. - 10.4 Программирование движения робота: Робот двигался со скоростью 1 м/с и должен был пройти расстояние 500 метров. Определите, сколько времени затратил робот на выполнение задачи. - 10.5 Скорость манипулятора робота: Робот-манипулятор перемещал свой манипулятор с одной точки в другую со скоростью 0,5 м/с. Определите, сколько времени потребовалось роботу для выполнения этой задачи. - - -## Вопрос 12 - 12.1 Андрей собрал редуктор с ведущей шестерёнкой на 12 зубьев и ведомой на 60 зубьев. Между ними находится две паразитные шестерёнки: одна на 30 зубов и другая на 15 зубов. Если ведущая ось вращается со скоростью 40 оборотов в секунду, то какая будет скорость ведомой оси? - - 12.2 Юлия создала механизм с ведущей шестерёнкой на 10 зубьев и ведомой на 50 зубьев. Между ними установлена паразитная шестерёнка на 20 зубов. Если скорость ведущей оси составляет 60 оборотов в минуту, то какова будет скорость ведомой оси? - - 12.3 Петр собрал редуктор, в котором ведущая шестерёнка имеет 16 зубьев, а ведомая - 64 зуба. Между ними находится паразитная шестерёнка на 32 зуба. Если скорость ведущей оси составляет 80 оборотов в минуту, то какая будет скорость ведомой оси? - - 12.4 Олег собирает редуктор с ведущей шестерёнкой на 18 зубьев и ведомой на 72 зуба. Между ними устанавливается паразитная шестерёнка на 36 зубов. Если ведущая ось вращается со скоростью 90 оборотов в минуту, то какова будет скорость ведомой оси? - - 12.5 Мария создала механизм с ведущей шестерёнкой на 14 зубьев и ведомой на 70 зубов. Между ними находится паразитная шестерёнка на 28 зубов. Если скорость ведущей оси составляет 56 оборотов в минуту, то какая будет скорость ведомой оси? - -## Вопрос 13 - 13.1 Два автомобиля движутся навстречу друг другу по одной и той же дороге. Первый автомобиль стартует из пункта А, а второй из пункта Б, находящегося на 60 километров дальше по дороге. Первый автомобиль движется со скоростью 80 км/ч, а второй - со скоростью 60 км/ч. Через какое время они встретятся? - - 13.2 Два пловца стартуют с противоположных концов бассейна одновременно. Первый пловец может проплывать 2 м/с, а второй - 1.5 м/с. Бассейн имеет длину 50 метров. Через какое время они встретятся впервые? - - 13.3 Два поезда отправляются из разных городов навстречу друг другу. Первый поезд отправляется со скоростью 100 км/ч, а второй - со скоростью 120 км/ч. Расстояние между городами составляет 600 километров. В каком месте находятся поезда, когда они встречаются? - - 13.4 Два часовых начинают свою смену одновременно. Первый часовой работает 4 часа, а второй - 6 часов. Сколько времени прошло, когда они снова встретятся? - - 13.5 Два спутника обращаются вокруг Земли на разных высотах. Первый спутник находится на высоте 500 километров, а второй - на высоте 800 километров. Один оборот первого спутника занимает 90 минут, а второго - 120 минут. Через сколько времени спутники будут находиться над одной и той же точкой Земли впервые? - -## Вопрос 14 - 14.1 Робот находится в верхнем левом углу сетки 3x3 и должен добраться до нижнего правого угла. Сколько существует различных путей для робота, перемещающегося только вниз и вправо, чтобы достичь цели? - - 14.2 Робот находится в верхнем левом углу сетки 4x4 и должен добраться до нижнего правого угла. Сколько существует различных путей для робота, перемещающегося только вниз и вправо, чтобы достичь цели? - - 14.3 Робот находится в верхнем левом углу сетки 6x6 и должен добраться до нижнего правого угла. Сколько существует различных путей для робота, перемещающегося только вниз и вправо, чтобы достичь цели? - - 14.4 Робот находится в верхнем левом углу сетки 2x2 и должен добраться до нижнего правого угла. Сколько существует различных путей для робота, перемещающегося только вниз и вправо, чтобы достичь цели? - - 14.5 Робот находится в верхнем левом углу сетки 7x7 и должен добраться до нижнего правого угла. Сколько существует различных путей для робота, перемещающегося только вниз и вправо, чтобы достичь цели? - -## Вопрос 15 - 15.1 Робот-марафонец начинает движение из точки A и двигается по пятиугольному маршруту, состоящему из 5 сторон по 200 метров каждая. Если диаметр колеса робота составляет 40 см, сколько оборотов каждого колеса робота он сделает, чтобы вернуться в точку A? - - 15.2 Робот-сборщик прямоугольных блоков двигается по пятиугольному маршруту, где каждая сторона имеет длину 150 мм. Робот собирает блоки, стоящие на каждой стороне маршрута. Если радиус колеса робота составляет 75 мм, сколько оборотов каждого колеса робота он сделает, чтобы собрать все блоки и вернуться в исходную точку? - - 15.3. Робот-исследователь двигается по пятиугольной траектории для сбора данных о местности. Расстояние между центрами колес составляет 20 см, и каждая сторона пятиугольника имеет длину 250 метров. Если радиус колеса робота равен 60 мм, сколько оборотов каждого колеса робота он сделает во время исследования? - - 15.4 Робот-газонокосилка движется по пятиугольной траектории, чтобы подстричь траву на газоне. Каждая сторона маршрута имеет длину 180 метров. Если диаметр колеса робота составляет 50 мм, сколько оборотов каждого колеса робота он сделает, чтобы подстричь всю траву и вернуться в начальную точку? - - 15.5 Робот-курьер доставляет посылки по пятиугольной траектории. Каждая сторона маршрута имеет длину 120 метров. Если радиус колеса робота составляет 45 мм, сколько оборотов каждого колеса робота он сделает, чтобы доставить все посылки и вернуться в отправную точку? - - # Ответы на вопросы - -## Вопрос № 1 - 1.1 Какой тип дисплея наиболее распространен в современных смартфонах? - - Ответ: a) OLED - - 1.2 Какая компания разработала первый персональный компьютер? - - Ответ: a) IBM - - 1.3 Какой вид памяти используется в большинстве USB-накопителей? - - Ответ: c) Flash - - 1.4 Какие виды беспроводных связей поддерживает современный смартфон? - - Ответ: a) 3G, 4G, 5G - - 1.5 Какой тип аккумулятора наиболее распространен в портативных ноутбуках и смартфонах? - - Ответ: a) Литий-ионный - -## Вопрос № 2 - - 2.1 Это устройство используется для замера температуры внутри печи. Какое устройство это? - - Ответ: a. Термометр - - 2.2 Это устройство обеспечивает связь между компьютерами внутри одного офиса. Какое устройство это? - - Ответ: b. Маршрутизатор - - 2.3 Это устройство используется для управления высотой полета воздушных шаров. Какое устройство это? - - Ответ: b. Радио - - 2.4 Это устройство применяется для измерения скорости движения автомобилей на дорогах. Какое устройство это? - - Ответ: c. Радар - - 2.5 Это устройство позволяет записывать звук и воспроизводить его. Какое устройство это? - - Ответ: b. Магнитофон - -## Вопрос № 3 -Для решения этих задач, давайте разберемся с основными концепциями равнопеременного движения и его влиянием на относительное положение роботов. - - 3.1 Какое из следующих утверждений верно относительно равнопеременного движения роботов А и Б? - - Правильный ответ: c) Роботы А и Б будут двигаться с одинаковой скоростью. - Роботы, начинающие равнопеременное движение одновременно, но с разными фазами и имеющие разные амплитуды, будут двигаться с одинаковой скоростью. Однако их положение в пространстве будет меняться из-за разных фаз и амплитуд, но они будут двигаться с одинаковой скоростью. - - 3.2 Второй вопрос: Если фазы равнопеременного движения роботов А и Б различаются на 180 градусов, как изменится их относительное положение со временем? - - Правильный ответ: b) Робот А и Б будут двигаться в противоположных направлениях. - Разница в фазах на 180 градусов означает, что один робот движется в одном направлении, а другой - в противоположном направлении. Они будут двигаться в противоположных направлениях. - - 3.3 Третий вопрос: Если амплитуда движения робота А увеличивается со временем, как это повлияет на его относительное положение по сравнению с роботом Б? - - Правильный ответ: a) Робот А будет приближаться к роботу Б. - Увеличение амплитуды движения робота А означает, что его максимальное удаление от исходной точки будет больше. Это приведет к тому, что он будет приближаться к роботу Б, который имеет постоянную амплитуду. - - 3.4 Четвертый вопрос: Если фаза движения робота А опережает фазу робота Б на 90 градусов, как это повлияет на их относительное положение? - - Правильный ответ: c) Роботы А и Б будут находиться в одной точке. - Разница в фазах на 90 градусов означает, что роботы будут находиться в разных точках на кривой движения, но их суммарное движение будет таким, что они будут находиться в одной точке одновременно. - - 3.5 Пятый вопрос: Если оба робота имеют одинаковую амплитуду и фазу движения, как изменится их относительное положение со временем? - - Правильный ответ: d) Относительное положение роботов не изменится. - Если оба робота имеют одинаковую амплитуду и фазу движения, то их относительное положение будет оставаться неизменным со временем, так как они будут двигаться синхронно и оставаться на одинаковом расстоянии друг от друга. - -## Вопрос № 4 - 4.1 Какой источник энергии становится все более популярным в мировой энергетике? - - Ответ: c) Ветряная энергия - - 4.2 Какое технологическое средство способствует увеличению эффективности производства энергии? - - Ответ: c) Солнечные панели - - 4.3 Какая стратегия по сокращению выбросов парниковых газов стала важной для развития мировой энергетики? - - Ответ: c) Переход на альтернативные источники энергии - - 4.4 Какая область энергетики представляет собой наибольший потенциал для роста в ближайшие десятилетия? - - Ответ: a) Энергия ветра - - 4.5 Какие меры мировое сообщество предпринимает для увеличения энергетической эффективности? - - Ответ: b) Внедрение стандартов энергосбережения - -## Вопрос №5 - 5.1 Какие преимущества приносит наука в развитие технологий и производства? - - Ответ: Все перечисленные варианты. Наука способствует улучшению качества продукции, снижению затрат, увеличению прибыли компаний и созданию новых рабочих мест. - - 5.2 Какие области науки наиболее активно влияют на развитие технологий? - - Ответ: a) Биология и медицина, b) Физика и химия. Эти области науки играют ключевую роль в развитии технологий. - - 5.3 Какие факторы способствуют успешному внедрению научных исследований в производство? - - Ответ: a) Государственная поддержка научных проектов и b) Инновационная культура в организации. Эти факторы способствуют успешному внедрению научных исследований в производство. - - 5.4 Какие вызовы могут возникнуть при интеграции науки и производства? - - Ответ: a) Этические дилеммы и b) Увеличение экологического воздействия. При интеграции науки и производства могут возникать этические и экологические проблемы. - - 5.5 Какие перспективы видите в будущем для сотрудничества науки и производства? - - Ответ: a) Более эффективное использование ресурсов и b) Развитие более экологичных технологий. Сотрудничество науки и производства может привести к более эффективному использованию ресурсов и развитию экологичных технологий. - -## Вопрос № 6 -Для решения каждого из этих вопросов мы можем использовать формулу для вычисления времени, которое требуется роботу для одного полного оборота вокруг окружности. Формула для вычисления времени (t) на один оборот в данном случае будет выглядеть так: -t=2πrv,t=v2πr, -где: -- tt - время для одного оборота, -- ππ (пи) - математическая константа, приближенное значение которой около 3.14159, -- rr - радиус окружности (половина диаметра), -- vv - скорость робота. -Давайте рассмотрим каждый из вопросов: - - 6.1 Робот движется по окружности диаметром 30 см (r=15 смr=15 см) со скоростью 10 см/сек (v=10 см/секv=10 см/сек): - t=2⋅3.14159⋅15 см10 см/сек=94.247 см10 см/сек=9.4247 сек.t=10 см/сек2⋅3.14159⋅15 см=10 см/сек94.247 см=9.4247 сек. - - Ответ: ближайший вариант - 10 секунд (вариант "c"). - - 6.2 Робот движется по окружности диаметром 15 см (r=7.5 смr=7.5 см) со скоростью 20 см/сек (v=20 см/секv=20 см/сек): - t=2⋅3.14159⋅7.5 см20 см/сек=47.123 см20 см/сек=2.35615 сек.t=20 см/сек2⋅3.14159⋅7.5 см=20 см/сек47.123 см=2.35615 сек. - - Ответ: ближайший вариант - 2.5 секунды (вариант "b"). - - 6.3 Робот движется по окружности диаметром 25 см (r=12.5 смr=12.5 см) со скоростью 18 см/сек (v=18 см/секv=18 см/сек): - t=2⋅3.14159⋅12.5 см18 см/сек=78.54 см18 см/сек=4.3633 сек.t=18 см/сек2⋅3.14159⋅12.5 см=18 см/сек78.54 см=4.3633 сек. - - Ответ: ближайший вариант - 4.5 секунды (вариант "a"). - -6.4 Робот движется по окружности диаметром 40 см (r=20 смr=20 см) со скоростью 12 см/сек (v=12 см/секv=12 см/сек): - t=2⋅3.14159⋅20 см12 см/сек=125.663 см12 см/сек=10.472 сек.t=12 см/сек2⋅3.14159⋅20 см=12 см/сек125.663 см=10.472 сек. - - Ответ: ближайший вариант - 10 секунд (вариант "a"). - - 6.5 Робот движется по окружности диаметром 18 см (r=9 смr=9 см) со скоростью 25 см/сек (v=25 см/секv=25 см/сек): - t=2⋅3.14159⋅9 см25 см/сек=56.548 см25 см/сек=2.26192 сек.t=25 см/сек2⋅3.14159⋅9 см=25 см/сек56.548 см=2.26192 сек. - - Ответ: ближайший вариант - 2.5 секунды (вариант "b"). - -## Вопрос № 7 -Задача 7.1: - - Ведущая шестерёнка имеет 12 зубьев, ведомая - 60 зубов, и есть две паразитные шестерёнки: одна на 30 зубов, и другая на 15 зубов. - - Сначала вычислим передаточное отношение редуктора: передаточное отношение = (число зубьев на ведущей шестерёнке) / (число зубьев на ведомой шестерёнке) = 12 / 60 = 1/5. - - Теперь умножим скорость вращения ведущей оси (40 оборотов в секунду) на передаточное отношение, чтобы найти скорость ведомой оси: скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 40 * (1/5) = 8 оборотов в секунду. - -Задача 7.2: -- Ведущая шестерёнка имеет 10 зубьев, ведомая - 50 зубов, и есть одна паразитная шестерёнка на 20 зубов. -- Передаточное отношение редуктора = 10 / 50 = 1/5. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 60 * (1/5) = 12 оборотов в минуту. - -Задача 7.3: -- Ведущая шестерёнка имеет 16 зубьев, ведомая - 64 зуба, и есть одна паразитная шестерёнка на 32 зуба. -- Передаточное отношение редуктора = 16 / 64 = 1/4. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 80 * (1/4) = 20 оборотов в минуту. - -Задача 7.4: -- Ведущая шестерёнка имеет 18 зубьев, ведомая - 72 зуба, и есть одна паразитная шестерёнка на 36 зубов. -- Передаточное отношение редуктора = 18 / 72 = 1/4. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 90 * (1/4) = 22.5 оборотов в минуту. - -Задача 7.5: -- Ведущая шестерёнка имеет 14 зубьев, ведомая - 70 зубов, и есть одна паразитная шестерёнка на 28 зубов. -- Передаточное отношение редуктора = 14 / 70 = 1/5. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 56 * (1/5) = 11.2 оборотов в минуту. - -## Вопрос № 8 - -1. Какова временная сложность алгоритма сортировки "Слиянием" для массива из N элементов? -- Ответ: b) O(N*log(N)) - -2. Какова пространственная сложность алгоритма быстрой сортировки (Quick Sort) для массива из N элементов? -- Ответ: d) O(1) - -3. Какова временная сложность линейного поиска в массиве из N элементов? -- Ответ: a) O(N) - -4. Какова пространственная сложность алгоритма обратного хода (Backtracking) при решении задачи коммивояжера для N городов? -- Ответ: b) O(N!) - -5. Какова временная сложность алгоритма поиска наименьшего общего предка (LCA) в бинарном дереве с N узлами? -- Ответ: b) O(log(N)) - -## Вопрос № 9 - -9.1 Какая оптимизация может снизить количество рекурсивных вызовов в быстрой сортировке? -- Ответ: a) Использование хвостовой рекурсии - -9.2 Какая структура данных может помочь улучшить производительность быстрой сортировки? -- Ответ: a) Стек - -9.3 Какие случаи данных лучше всего подходят для быстрой сортировки? -- Ответ: a) Массивы с уникальными значениями - -9.4 Какая оптимизация может уменьшить использование дополнительной памяти в быстрой сортировке? -- Ответ: c) Использование встроенных функций сортировки - -9.5 Какой выбор опорного элемента может повысить эффективность быстрой сортировки? -- Ответ: a) Случайный выбор элемента - -## Вопрос № 10 -10.1 Дистанционное управление роботом: Робот двигался в течение 30 минут с постоянной скоростью 2 м/с. Для определения расстояния, которое он прошел, умножим время на скорость: Расстояние = Время × Скорость = 30 минут × (2 м/с) = 60 метров. Таким образом, робот прошел 60 метров. - -10.2 Исследование роботом под водой: Робот-подводник преодолел 5 километров и сделал 200 оборотов винта. Чтобы найти расстояние, которое он преодолел за один оборот винта, разделим общее расстояние на количество оборотов: Расстояние за один оборот винта = 5 километров / 200 = 0,025 километра = 25 метров. - -10.3 Скорость движения робота-марсохода: Робот-марсоход проехал 10 километров за 2 часа. Для определения его скорости, разделим расстояние на время: Скорость = Расстояние / Время = 10 километров / 2 часа = 5 километров в час. Для перевода в метры в секунду, умножим на 1000 (1 км = 1000 м) и разделим на 3600 (1 час = 3600 секунд): Скорость = (5 километров * 1000 м/км) / (2 часа * 3600 с/час) ≈ 1,39 м/с. - -10.4 Программирование движения робота: Робот двигался со скоростью 1 м/с и должен был пройти расстояние 500 метров. Для определения времени, затраченного на выполнение задачи, разделим расстояние на скорость: Время = Расстояние / Скорость = 500 метров / 1 м/с = 500 секунд = 8 минут и 20 секунд. - -10.5 Скорость манипулятора робота: Робот-манипулятор перемещал свой манипулятор с одной точки в другую со скоростью 0,5 м/с. Если нам не дано конкретное расстояние, то мы не можем определить время, затраченное на выполнение задачи, без дополнительной информации о расстоянии, которое нужно преодолеть. - -## Вопрос 12 - -Задача 12.1: -- Ведущая шестерёнка имеет 12 зубьев, ведомая - 60 зубов, и есть две паразитные шестерёнки: одна на 30 зубов, и другая на 15 зубов. -- Сначала вычислим передаточное отношение редуктора: передаточное отношение = (число зубьев на ведущей шестерёнке) / (число зубьев на ведомой шестерёнке) = 12 / 60 = 1/5. -- Теперь умножим скорость вращения ведущей оси (40 оборотов в секунду) на передаточное отношение, чтобы найти скорость ведомой оси: скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 40 * (1/5) = 8 оборотов в секунду. - -Задача 12.2: -- Ведущая шестерёнка имеет 10 зубьев, ведомая - 50 зубов, и есть одна паразитная шестерёнка на 20 зубов. -- Передаточное отношение редуктора = 10 / 50 = 1/5. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 60 * (1/5) = 12 оборотов в минуту. - -Задача 12.3: -- Ведущая шестерёнка имеет 16 зубьев, ведомая - 64 зуба, и есть одна паразитная шестерёнка на 32 зуба. -- Передаточное отношение редуктора = 16 / 64 = 1/4. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 80 * (1/4) = 20 оборотов в минуту. - -Задача 12.4: -- Ведущая шестерёнка имеет 18 зубьев, ведомая - 72 зуба, и есть одна паразитная шестерёнка на 36 зубов. -- Передаточное отношение редуктора = 18 / 72 = 1/4. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 90 * (1/4) = 22.5 оборотов в минуту. - -Задача 12.5: -- Ведущая шестерёнка имеет 14 зубьев, ведомая - 70 зубов, и есть одна паразитная шестерёнка на 28 зубов. -- Передаточное отношение редуктора = 14 / 70 = 1/5. -- Скорость ведомой оси = (скорость ведущей оси) * (передаточное отношение) = 56 * (1/5) = 11.2 оборотов в минуту. - -## Вопрос 13. - 13.1 Для определения времени встречи автомобилей можно воспользоваться формулой: -- Время = Расстояние / (Скорость1 + Скорость2) -- В данном случае, расстояние между пунктами А и Б составляет 60 километров, скорость первого автомобиля - 80 км/ч, а скорость второго - 60 км/ч. -- Время = 60 км / (80 км/ч + 60 км/ч) = 60 км / 140 км/ч = 3/7 часа. -- Переведем время в минуты: (3/7) * 60 = 25.71 минута. -- Таким образом, автомобили встретятся через примерно 25.71 минуту. - - 13.2 Для определения времени встречи пловцов в бассейне можно использовать формулу: -- Время = Расстояние / (Скорость1 + Скорость2) -- В данном случае, расстояние в бассейне составляет 50 метров, первый пловец плывет со скоростью 2 м/с, а второй - 1.5 м/с. -- Время = 50 м / (2 м/с + 1.5 м/с) = 50 м / 3.5 м/с = 14.29 секунд. -- Таким образом, пловцы встретятся через примерно 14.29 секунд. - - 13.3 Для определения места встречи поездов можно использовать формулу: -- Место = (Скорость1 * Время) + (Скорость2 * Время) -- В данном случае, первый поезд движется со скоростью 100 км/ч, второй - 120 км/ч, и расстояние между городами составляет 600 километров. -- Пусть Место будет расстоянием между городами, а Время - время встречи. -- 600 км = (100 км/ч * Время) + (120 км/ч * Время) -- 600 км = (100 + 120) км/ч * Время -- 600 км = 220 км/ч * Время -- Время = 600 км / 220 км/ч ≈ 2.73 часа. -- Теперь можно найти расстояние от начала первого города до места встречи: -- Место = 100 км/ч * 2.73 часа ≈ 273 километра от начала первого города. -- Таким образом, поезда встретятся примерно через 2.73 часа, и это произойдет примерно 273 километра от начала первого города. - - 13.4. Для определения времени встречи часовых можно воспользоваться наименьшим общим кратным их смен: -- НОК(4, 6) = 12 часов. -- Часовые встретятся через каждые 12 часов работы, так как это наименьшее общее кратное их смен. - - 13.5 Для определения времени встречи спутников над одной и той же точкой Земли можно воспользоваться формулой: -- Время = (Период1 * Период2) / |Период1 - Период2| -- В данном случае, первый спутник имеет период обращения 90 минут, а второй - 120 минут. -- Время = (90 мин * 120 мин) / |90 мин - 120 мин| = (10800 мин) / (30 мин) = 360 минут. -- Таким образом, спутники будут находиться над одной и той же точкой Земли каждые 360 минут, или 6 часов. - -## Вопрос № 14 - -14.1. Робот находится в верхнем левом углу сетки 3x3 и должен добраться до нижнего правого угла. Существует 6 различных путей для робота. Путь можно представить в виде последовательности шагов "вниз" (D) и "вправо" (R): -o DDRR -o DRDR -o RDRD -o RRDD -o DRRD -o RDDR - -14.2 Робот находится в верхнем левом углу сетки 4x4 и должен добраться до нижнего правого угла. Существует 20 различных путей для робота. - -14.3 Робот находится в верхнем левом угле сетки 6x6 и должен добраться до нижнего правого угла. Существует 924 различных пути для робота. Эту задачу можно решить с помощью биномиальных коэффициентов, где C(n, k) представляет количество путей для перемещения из верхнего левого угла в нижний правый угол сетки n x n, используя только движения вниз и вправо. В данном случае, C(12, 6) = 924. - -14.4 Робот находится в верхнем левом угле сетки 2x2 и должен добраться до нижнего правого угла. Существует 2 различных пути для робота. - -14.5 Робот находится в верхнем левом угле сетки 7x7 и должен добраться до нижнего правого угла. Существует 3432 различных пути для робота. Эту задачу также можно решить с помощью биномиальных коэффициентов, где C(14, 7) = 3432. - - -## Вопрос № 15 - -15.1 Решение для задачи №1: Для определения количества оборотов, которые каждое колесо робота сделает, чтобы вернуться в точку A, нам нужно сначала найти общее расстояние, которое робот должен проехать. -Общее расстояние = 5 сторон * 200 метров = 1000 метров. -Теперь мы можем использовать формулу для расчета количества оборотов: -n = k / L, -где k - общее расстояние (1000 м), L - длина одного оборота одного колеса (π * d). -L = π * 0.4 м (диаметр колеса в метрах) = 1.256 м. -Теперь можем вычислить количество оборотов: -n = 1000 м / 1.256 м = 796.18 оборотов. -Ответ: Каждое колесо робота сделает примерно 796.18 оборотов, чтобы вернуться в точку A. - -15.2 Решение для задачи №2: Аналогично, сначала найдем общее расстояние: -Общее расстояние = 5 сторон * 150 мм = 750 мм = 0.75 метра. -Теперь используем формулу для расчета количества оборотов: -L = π * 0.75 м (диаметр колеса в метрах) = 2.356 м. -n = 0.75 м / 2.356 м = 0.318 оборотов. -Ответ: Каждое колесо робота сделает примерно 0.318 оборота, чтобы собрать все блоки и вернуться в исходную точку. - -15.3. Решение для задачи №3: Снова найдем общее расстояние: -Общее расстояние = 5 сторон * 250 мм = 1250 мм = 1.25 метра. -Теперь используем формулу для расчета количества оборотов: -L = π * 0.6 м (радиус колеса в метрах) = 1.884 м. -n = 1.25 м / 1.884 м = 0.664 оборотов. -Ответ: Каждое колесо робота сделает примерно 0.664 оборота во время исследования. - -15.4 Решение для задачи №4: Найдем общее расстояние: -Общее расстояние = 5 сторон * 180 мм = 900 мм = 0.9 метра. -L = π * 0.5 м (диаметр колеса в метрах) = 1.57 м. -n = 0.9 м / 1.57 м = 0.573 оборота. -Ответ: Каждое колесо робота сделает примерно 0.573 оборота, чтобы подстричь всю траву и вернуться в начальную точку. - -15.5. Решение для задачи №5: Найдем общее расстояние: -Общее расстояние = 5 сторон * 120 мм = 600 мм = 0.6 метра. -L = π * 0.45 м (радиус колеса в метрах) = 1.413 м. -n = 0.6 м / 1.413 м = 0.425 оборотов. -Ответ: Каждое колесо робота сделает примерно 0.425 оборота, чтобы доставить все посылки и вернуться в отправную точку. diff --git a/content/posts/olimp/practice-test-5-6-robotics.mdx b/content/posts/olimp/practice-test-5-6-robotics.mdx deleted file mode 100644 index 9577860..0000000 --- a/content/posts/olimp/practice-test-5-6-robotics.mdx +++ /dev/null @@ -1,504 +0,0 @@ ---- -title: Олимпиада по робототехники школьный этап 5 - 6 класc. Пробный вариант. -excerpt: Пробный вариант за 5 - 6 класс 2023-24 год. -date: '2023-09-06' -tags: - - Робототехника - - Олимпиада ---- - -Перед Вами пробный варинат олимпиадных задний по профилю технология в правление робототехника. К каждому вопросу в олимпиаде идет 5 разных вопросов по схожей теме. - - - -- [Вопрос № 1](#вопрос--1) -- [Вопрос № 2](#вопрос--2) -- [Вопрос № 3](#вопрос--3) -- [Вопрос № 4](#вопрос--4) -- [Вопрос № 5](#вопрос--5) -- [Вопрос № 6](#вопрос--6) -- [Вопрос № 7](#вопрос--7) -- [Вопрос № 8](#вопрос--8) -- [Вопрос № 9](#вопрос--9) -- [Вопрос № 10](#вопрос--10) -- [Вопрос № 12 и 13](#вопрос--12-13) -- [Вопрос № 15](#вопрос--15) - - - -## Вопрос № 1 - 1.1 Какой тип роботов спроектирован для выполнения задач в водной среде? - - a. Робот-подводник - - b. Робот-полет - - c. Робот-грузовик - - d. Робот-гуманоид - - 1.2 Какой робот предназначен для исследования других планет? - - a. Робот-уборщик - - b. Робот-пароварка - - c. Робот-марсоход - - d. Робот-парикмахер - - 1.3 Какой тип роботов используется для выполнения задач в медицине? - - a. Робот-пылесос - - b. Робот-хирург - - c. Робот-повар - - d. Робот-дальнобойщик - - 1.4 Какие роботы обычно используются в автопроме для сборки автомобилей? - - a. Робот-массажист - - b. Робот-архитектор - - c. Робот-сварщик - - d. Робот-пилот - - 1.5 Какие роботы могут быть использованы для доставки почты и товаров в крупных городах? - - a. Робот-кулинар - - b. Робот-медсестра - - c. Робот-почтальон - - d. Робот-уборщик - -## Вопрос № 2 - 2.1 Это устройство используется для замера температуры внутри печи. Какое устройство это? - - a. Термометр - - b. Телефон - - c. Телевизор - - d. Фотоаппарат - - 2.2 Это устройство обеспечивает связь между компьютерами внутри одного офиса. Какое устройство это? - - a. Микроволновка - - b. Маршрутизатор - - c. Смартфон - - d. Магнитофон - - 2.3 Это устройство используется для управления высотой полета воздушных шаров. Какое устройство это? - - a. Палка для селфи - - b. Радио - - c. Шарикоподшипник - - d. Баллон с гелием - - 2.4 Это устройство применяется для измерения скорости движения автомобилей на дорогах. Какое устройство это? - - a. Микроволновая печь - - b. Велосипед - - c. Радар - - d. Гитара - - 2.5. Это устройство позволяет записывать звук и воспроизводить его. Какое устройство это? - - a. Фотоаппарат - - b. Магнитофон - - c. Смартфон - - d. Велосипед - -## Задание № 3 - - 3.1 Какое название передачи используется для передачи движения с помощью зубчатых колес? - - a. Ременная передача - - b. Цепная передача - - c. Зубчатая передача - - d. Червячная передача - - 3.2 Какую передачу часто используют для передачи движения велосипедов? - - a. Ременная передача - - b. Цепная передача - - c. Зубчатая передача - - d. Червячная передача - - 3.3 Какая передача обычно используется для переключения скоростей в автомобилях с механической коробкой передач? - - a. Ременная передача - - b. Цепная передача - - c. Зубчатая передача - - d. Червячная передача - - 3.4 Какой тип передачи характеризуется использованием червячного винта? - - a. Ременная передача - - b. Цепная передача - - c. Зубчатая передача - - d. Червячная передача - - 3.5 Какой вид передачи применяется для передачи движения между параллельными осями с помощью зубчатых колес? - - a. Ременная передача - - b. Цепная передача - - c. Зубчатая передача - - d. Червячная передача - -## Задание № 4 - - 4.1 Наташа решила сделать подарок своей бабушке на день рождения. Она хочет сшить две одинаковые подушки и для этого ей нужно купить ткань. Один метр ткани стоит 250 рублей. Сколько рублей Наташа должна потратить на ткань, чтобы сшить две подушки, если каждая подушка требует 1.5 метра ткани? - - 4.2 Макс решил приготовить себе завтрак и для этого ему нужно купить два яйца. Он пошел в магазин и увидел, что цена за одно яйцо составляет 5 рублей. Сколько рублей Макс должен заплатить, чтобы купить два яйца? - - 4.3 Аня решила купить новые карандаши для школы. Она хочет купить 12 карандашей, и каждый карандаш стоит 15 рублей. Сколько рублей Аня должна заплатить за все карандаши? - - 4.4 Денис хочет подарить своему другу набор красок для художественных работ. Набор стоит 500 рублей, и Денис решил купить два таких набора. Сколько рублей Денис должен заплатить за оба набора? - - 4.5 Лена решила купить новую книгу. Книга стоит 350 рублей. У нее уже есть 200 рублей, и она хочет узнать, сколько ей еще нужно денег, чтобы купить эту книгу. - -## Задание № 5 - - 5.1 Коля нарисовал прямоугольник со сторонами 560 мм и 320 мм. Найдите его периметр в дециметрах. - - 5.2 Анна изготовила прямоугольный столешницу размерами 1.2 метра в длину и 80 см в ширину. Каков будет периметр этой столешницы в дециметрах? - - 5.3 Дан прямоугольный бассейн с размерами 4 метра в длину и 2.5 метра в ширину. Определите периметр бассейна в дециметрах. - - 5.4 Максим создал картину в форме прямоугольника, длиной 90 см и шириной 60 см. Найдите периметр его картины в дециметрах. - - 5.5 Оля построила грядку для сада, имеющую форму прямоугольника. Её длина составляет 5.6 метра, а ширина - 2.3 метра. Чему равен периметр грядки в дециметрах? - -## Задание № 6 - - 6.1 Велосипедист крутит педали. Какой род рычага используется в механизме передачи движения от педалей к заднему колесу? - - 6.2 Дверь, прикрепленная к стене, открывается и закрывается. Какой род рычага применяется в механизме, который позволяет легко управлять дверью? - - 6.3 Автомобиль имеет рулевое управление. Какой тип рычага используется в рулевой колонке, чтобы водитель мог поворачивать автомобиль? - - 6.4 Кухонный блендер использует мотор для вращения ножей внутри. Какой род рычага используется в механизме передачи движения от мотора к ножам блендера? - - 6.5 Люди используют щипцы для захвата и поднятия предметов. Какой тип рычага присутствует в механизме щипцов, который позволяет усилить приложенную силу и сжать их? - - -## Задание № 7 - 7.1 Андрей собрал редуктор с ведущей шестерёнкой на 12 зубьев и ведомой на 60 зубьев. Между ними находится две паразитные шестерёнки: одна на 30 зубов и другая на 15 зубов. Если ведущая ось вращается со скоростью 40 оборотов в секунду, то какая будет скорость ведомой оси? - - 7.2 Юлия создала механизм с ведущей шестерёнкой на 10 зубьев и ведомой на 50 зубьев. Между ними установлена паразитная шестерёнка на 20 зубов. Если скорость ведущей оси составляет 60 оборотов в минуту, то какова будет скорость ведомой оси? - - 7.3 Петр собрал редуктор, в котором ведущая шестерёнка имеет 16 зубьев, а ведомая - 64 зуба. Между ними находится паразитная шестерёнка на 32 зуба. Если скорость ведущей оси составляет 80 оборотов в минуту, то какая будет скорость ведомой оси? - - 7.4 Олег собирает редуктор с ведущей шестерёнкой на 18 зубьев и ведомой на 72 зуба. Между ними устанавливается паразитная шестерёнка на 36 зубов. Если ведущая ось вращается со скоростью 90 оборотов в минуту, то какова будет скорость ведомой оси? - - 7.5 Мария создала механизм с ведущей шестерёнкой на 14 зубьев и ведомой на 70 зубов. Между ними находится паразитная шестерёнка на 28 зубов. Если скорость ведущей оси составляет 56 оборотов в минуту, то какая будет скорость ведомой оси? - -## Задание № 8 - 8.1 Какая функция у современных мобильных телефонов позволяет им автоматически подстраивать яркость экрана в зависимости от окружающей освещенности? - - a. Голосовое управление - - b. Автоматическая яркость - - c. Селфи-режим - - d. Вибрационная обратная связь - - 8.2 Какая технология позволяет автомобилям самостоятельно удерживать полосу движения на дороге и адаптироваться к скорости других транспортных средств? - - a. Гироскопическая стабилизация - - b. Автопилот - - c. Газовый двигатель - - d. Система кондиционирования - - 8.3 Какая функция в современных кофемашинах автоматически подстраивает степень помола кофейных зерен в зависимости от выбранного типа кофе? - - a. Режим капучино - - b. Система самоочистки - - c. Регулировка водяной температуры - - d. Автоматический помол - - 8.4 Какая технология позволяет смарт-телевизорам автоматически регулировать качество изображения в зависимости от содержания и освещения в комнате? - - a. Голосовое управление - - b. Автоматическая подсветка - - c. Технология HDR - - d. Система управления звуком - - 8.5 Какая функция в смарт-доме позволяет автоматически управлять освещением, открывать и закрывать жалюзи в зависимости от времени суток и погодных условий? - - a. Система безопасности - - b. Умный домофон - - c. Автоматическое управление климатом - - d. Умное управление освещением - -## Задание № 9 - 9.1 Какую функцию могут выполнять роботы в космической индустрии? - - a. Орбитальные ремонты и обслуживание - - b. Ингаляция атмосферы Марса - - c. Проектирование ракетных двигателей - - d. Гастрономическое обслуживание астронавтов - - 9.2 Какой тип роботов используется для исследования поверхности других планет? - - a. Дроны - - b. Археологические роботы - - c. Швейцарские ножи - - d. Роботы-уборщики - - 9.3 В каких операциях на МКС могут участвовать роботы? - - a. Медицинские операции - - b. Ремонт оборудования - - c. Готовка пищи - - d. Сборка космических кораблей - - 9.4 Для чего используются роботы-манипуляторы в космической индустрии? - - a. Для выполнения сложных монтажных и ремонтных работ - - b. Для обучения астронавтов танцевать - - c. Для выращивания растений на Марсе - - d. Для массажа астронавтов - - 9.5 Какие преимущества предоставляют роботы в космической исследовательской миссии? - - a. Уменьшение риска для человека - - b. Поддержка астронавтов в деловых переговорах с инопланетянами - - c. Подготовка астронавтов к конкурсу красоты - - d. Увеличение количества космических котов на борту - -## Задание № 10 - - 10.1 Робот оснащён двумя отдельно управляемыми колёсами, радиус каждого из колёс робота равен 35 мм. Левым колесом управляет мотор А, правым колесом управляет мотор Б. Робот проезжает прямолинейный участок трассы, длина которого равна 4 м 80 см. Определите, сколько оборотов совершили моторы за время проезда робота по прямолинейному участку трассы. При расчётах примите число π=3,14. В ответ запишите число оборотов, результат округлите до целого. - - 10.2 У робота есть два колеса, радиус каждого колеса составляет 50 мм. Левым колесом управляет мотор X, правым колесом управляет мотор Y. Робот проезжает прямолинейный участок трассы, длина которого равна 6 метрам. Определите, сколько оборотов сделали моторы за время проезда робота по данному участку. При расчетах используйте число π=3,14 и округлите результат до ближайшего целого. - - 10.3 Робот имеет два колеса, радиус каждого из них равен 30 мм. Левым колесом управляет мотор P, правым колесом управляет мотор Q. Робот движется по прямолинейному участку дороги, длина которого составляет 3 м 75 см. Определите, сколько оборотов выполнили моторы P и Q во время движения робота по данному участку. При расчетах используйте число π=3,14 и округлите результат до целого числа. - - 10.4 Двухколесный робот оснащен колесами с радиусом 25 мм. Левым колесом управляет мотор M1, правым - мотор M2. Робот движется по прямолинейному участку дороги, длина которого равна 7 метрам. Определите, сколько оборотов сделали моторы M1 и M2 во время проезда робота по данному участку. Используйте число π=3,14 и округлите ответ до ближайшего целого числа. - - 10.5 У робота есть два колеса с радиусом 20 мм. Левым колесом управляет мотор A, правым колесом управляет мотор B. Робот движется по прямолинейному участку трассы, длина которого составляет 6 метров и 30 сантиметров. Определите, сколько оборотов совершили моторы A и B за время проезда робота по данному участку. Используйте значение π=3,14 и округлите результат до целого числа. - -## Вопрос № 12 и 13 - 12.1 В механизме соединены две зубчатых шестерёнки с 16 и 24 зубьями. Какое передаточное соотношение между ними? - - a. 1:1 - - b. 2:1 - - c. 3:2 - - d. 2:3 - - 12.2 На изображении видно две зубчатых шестерёнки с 8 и 40 зубьями. Какое передаточное соотношение соответствует этим шестерёнкам? - - a. 1:5 - - b. 5:1 - - c. 1:8 - - d. 8:1 - - 12.3 В механизме используются шестерёнки с 12 и 20 зубьями. Какое передаточное соотношение существует между ними? - - a. 3:2 - - b. 2:3 - - c. 5:3 - - d. 3:5 - - 12.4. На рисунке изображены две зубчатых шестерёнки с 24 и 36 зубьями. Какое передаточное соотношение между этими шестерёнками? - - a. 3:2 - - b. 2:3 - - c. 4:3 - - d. 3:4 - - 12.5. Какое передаточное соотношение зубьев существует между шестерёнками с 16 и 40 зубьями? -- a. 2:5 -- b. 5:2 -- c. 1:4 -- d. 4:1 - -## Вопрос № 15 - - 15.1 Робот-пылесос движется по квадратной комнате размером 4 метра на 4 метра. Робот начинает движение из угла комнаты и должен по очереди очистить каждую сторону комнаты, двигаясь вдоль стен. Робот имеет радиус 20 см и двигается со скоростью 0.5 м/с. Сколько времени роботу потребуется, чтобы очистить всю комнату? - - 15.2 Робот-курьер должен доставить посылку из точки A в точку B, которые находятся на расстоянии 2 километров друг от друга. Робот двигается со скоростью 1 м/с. Сколько времени потребуется роботу для доставки посылки? - - 15.3 Робот-грузовик движется по шоссе и должен проехать расстояние 300 километров. Радиус колес грузовика составляет 40 см. Сколько оборотов совершит колесо грузовика, чтобы пройти это расстояние? - - 15.4 Робот-садовник должен перемешать землю в саду, который имеет форму круга с радиусом 5 метров. Робот имеет рабочий инструмент, закрепленный в центре, и вращает его с угловой скоростью 2 радиана в секунду. Сколько времени потребуется роботу, чтобы перемешать всю землю в саду? - - 15.5 Робот-подводник должен исследовать дно океана на глубине 100 метров. Робот двигается со скоростью 0.2 м/с и начинает свое путешествие с поверхности воды. Сколько времени потребуется роботу, чтобы достичь дна океана? - - # Ответы на вопросы - -## Вопрос 1. - 1.1 Какой тип роботов спроектирован для выполнения задач в водной среде? - - Ответ: a) Робот-подводник - - 1.2 Какой робот предназначен для исследования других планет? - - Ответ: c) Робот-марсоход - - 1.3 Какой тип роботов используется для выполнения задач в медицине? - - Ответ: b) Робот-хирург - - 1.4 Какие роботы обычно используются в автопроме для сборки автомобилей? - - Ответ: c) Робот-сварщик - - 1.5 Какие роботы могут быть использованы для доставки почты и товаров в крупных городах? - - Ответ: c) Робот-почтальон - -## Вопрос № 2 - - 2.1 - Ответ: a. Термометр - - 2.2 - Ответ: b. Маршрутизатор - - 2.3 - Ответ: b. Радио - - 2.4 - Ответ: c. Радар - - 2.5 - Ответ: b. Магнитофон - - -## Вопрос 3. - - 3.1 Какое название передачи используется для передачи движения с помощью зубчатых колес? - - Ответ: c) Зубчатая передача - - 3.2 Какую передачу часто используют для передачи движения велосипедов? - - Ответ: b) Цепная передача - - 3.3 Какая передача обычно используется для переключения скоростей в автомобилях с механической коробкой передач? - - Ответ: c) Зубчатая передача - - 3.4 Какой тип передачи характеризуется использованием червячного винта? - - Ответ: d) Червячная передача - - 3.5 Какой вид передачи применяется для передачи движения между параллельными осями с помощью зубчатых колес? - - Ответ: c) Зубчатая передача - -## Вопрос № 4. - - 4.1 Наташа хочет сшить две одинаковые подушки, и каждая подушка требует 1.5 метра ткани. Значит, общее количество ткани, необходимое для двух подушек, равно 2 * 1.5 м = 3 метра. Ткань стоит 250 рублей за метр, поэтому Наташа должна потратить: 3 м * 250 рублей/м = 750 рублей. - - Ответ: Наташе нужно потратить 750 рублей на ткань. - - 4.2 Макс хочет купить два яйца, и цена за одно яйцо составляет 5 рублей. Таким образом, Макс должен заплатить: 2 яйца * 5 рублей/яйцо = 10 рублей. - - Ответ: Макс должен заплатить 10 рублей за два яйца. - - 4.3 Аня хочет купить 12 карандашей, и каждый карандаш стоит 15 рублей. Сумма, которую Аня должна заплатить, равна: 12 карандашей * 15 рублей/карандаш = 180 рублей. - - Ответ: Аня должна заплатить 180 рублей за все карандаши. - - 4.4 Денис хочет купить два набора красок, и каждый набор стоит 500 рублей. Итак, Денис должен заплатить: 2 набора * 500 рублей/набор = 1000 рублей. - - Ответ: Денис должен заплатить 1000 рублей за оба набора красок. - - 4.5 Лена хочет купить книгу, которая стоит 350 рублей. У нее уже есть 200 рублей. Чтобы узнать, сколько ей еще нужно денег, вычитаем сумму, которая уже есть, из стоимости книги: 350 рублей - 200 рублей = 150 рублей. - - Ответ: Лене нужно еще 150 рублей, чтобы купить эту книгу. - -## Вопрос № 5 -Для решения этих задач, нам нужно найти периметр каждой фигуры, а затем перевести результаты в дециметры, так как 1 метр равен 10 дециметрам. - -5.1. Периметр прямоугольника с данными сторонами: Периметр = 2 * (Длина + Ширина) = 2 * (560 мм + 320 мм) = 2 * 880 мм = 1760 мм Теперь переведем в дециметры: 1760 мм / 10 = 176 дм. - -5.2. Периметр прямоугольной столешницы: Длина = 1.2 м * 10 дм/м = 12 дм Ширина = 80 см / 10 дм/см = 8 дм Периметр = 2 * (Длина + Ширина) = 2 * (12 дм + 8 дм) = 2 * 20 дм = 40 дм. - -5.3. Периметр прямоугольного бассейна: Длина = 4 м * 10 дм/м = 40 дм Ширина = 2.5 м * 10 дм/м = 25 дм Периметр = 2 * (Длина + Ширина) = 2 * (40 дм + 25 дм) = 2 * 65 дм = 130 дм. - -5.4. Периметр картины: Длина = 90 см / 10 дм/см = 9 дм Ширина = 60 см / 10 дм/см = 6 дм Периметр = 2 * (Длина + Ширина) = 2 * (9 дм + 6 дм) = 2 * 15 дм = 30 дм. - -5.5. Периметр грядки: Длина = 5.6 м * 10 дм/м = 56 дм Ширина = 2.3 м * 10 дм/м = 23 дм Периметр = 2 * (Длина + Ширина) = 2 * (56 дм + 23 дм) = 2 * 79 дм = 158 дм. -Таким образом, периметры указанных фигур в дециметрах следующие: 5.1: 176 дм 5.2: 40 дм 5.3: 130 дм 5.4: 30 дм 5.5: 158 дм. - -## Вопрос № 6 - -6.1 В механизме передачи движения от педалей к заднему колесу велосипеда используется передаточный рычаг. Этот рычаг позволяет увеличить момент силы, применяемой к педалям, для вращения заднего колеса. - -6.2 Для управления дверью, прикрепленной к стене, используется рычаг первого рода. Рычаг первого рода позволяет легко открывать и закрывать дверь, применяя небольшую силу на конце рычага, чтобы создать момент силы, достаточный для вращения двери. - -6.3 В рулевой колонке автомобиля используется рычаг второго рода, также известный как рулевая тяга. Этот тип рычага позволяет водителю поворачивать автомобиль, применяя силу к рулевой руке, что приводит к вращению передних колес и изменению направления движения. - -6.4 В механизме передачи движения от мотора к ножам блендера используется рычаг третьего рода. Этот рычаг позволяет преобразовывать вращающееся движение от мотора во вращение ножей, обеспечивая нужное соотношение скорости и силы. - -6.5 В механизме щипцов, используемых для захвата и поднятия предметов, также присутствует рычаг третьего рода. Этот тип рычага позволяет усилить приложенную силу, что помогает сжать щипцы и удерживать предметы. - -## Вопрос № 7 - 7.1: 400 оборотов/сек - - 7.2: 12.5 оборотов/сек - - -## Вопрос № 8 - - 8.1 Какая функция у современных мобильных телефонов позволяет им автоматически подстраивать яркость экрана в зависимости от окружающей освещенности? - - Ответ: b. Автоматическая яркость - - 8.2 Какая технология позволяет автомобилям самостоятельно удерживать полосу движения на дороге и адаптироваться к скорости других транспортных средств? - - Ответ: b. Автопилот - - 8.3 Какая функция в современных кофемашинах автоматически подстраивает степень помола кофейных зерен в зависимости от выбранного типа кофе? - - Ответ: d. Автоматический помол - - 8.4 Какая технология позволяет смарт-телевизорам автоматически регулировать качество изображения в зависимости от содержания и освещения в комнате? - - Ответ: c. Технология HDR - - 8.5 Какая функция в смарт-доме позволяет автоматически управлять освещением, открывать и закрывать жалюзи в зависимости от времени суток и погодных условий? - - Ответ: d. Умное управление освещением - -## Вопрос № 9 - - 9.1 Какую функцию могут выполнять роботы в космической индустрии? - - Ответ: a. Орбитальные ремонты и обслуживание - - 9.2 Какой тип роботов используется для исследования поверхности других планет? - - Ответ: a. Дроны - - 9.3 В каких операциях на МКС могут участвовать роботы? - - Ответ: b. Ремонт оборудования и d. Сборка космических кораблей - - 9.4 Для чего используются роботы-манипуляторы в космической индустрии? - - Ответ: a. Для выполнения сложных монтажных и ремонтных работ - - 9.5 Какие преимущества предоставляют роботы в космической исследовательской миссии? - - Ответ: a. Уменьшение риска для человека - -## Вопрос № 10 - 10.1: Ответ: 22 оборота. - - 10.2: Ответ: 19 оборота. - - 10.3: Ответ: 13 оборота. - - 10.4: Ответ: 89 оборота. - - 10.5: Ответ: 50 оборота. - -## Вопрос № 12 -Давайте рассмотрим каждую задачу по порядку и определим передаточное соотношение между зубчатыми шестерёнками. - - 12.1 - В данной задаче у нас есть две зубчатые шестерёнки с 16 и 24 зубьями. Для определения передаточного соотношения нужно разделить количество зубьев в большей шестерёнке на количество зубьев в меньшей: - Передаточное соотношение = (Количество зубьев в большей шестерёнке) / (Количество зубьев в меньшей шестерёнке) - Передаточное соотношение = 24 / 16 = 3 / 2 = 3:2 - - Ответ: c. 3:2 - - 12.2 - В данной задаче у нас есть две зубчатые шестерёнки с 8 и 40 зубьями. Снова разделим количество зубьев в большей шестерёнке на количество зубьев в меньшей: - Передаточное соотношение = (Количество зубьев в большей шестерёнке) / (Количество зубьев в меньшей шестерёнке) - Передаточное соотношение = 40 / 8 = 5 / 1 = 5:1 - - Ответ: b. 5:1 - - 12.3 - В этой задаче есть две шестерёнки с 12 и 20 зубьями. Опять же, найдём передаточное соотношение: - Передаточное соотношение = (Количество зубьев в большей шестерёнке) / (Количество зубьев в меньшей шестерёнке) - Передаточное соотношение = 20 / 12 = 5 / 3 = 5:3 -- Ответ: c. 5:3 - - 12.4 - Здесь у нас две шестерёнки с 24 и 36 зубьями. Рассчитаем передаточное соотношение: - Передаточное соотношение = (Количество зубьев в большей шестерёнке) / (Количество зубьев в меньшей шестерёнке) - Передаточное соотношение = 36 / 24 = 3 / 2 = 3:2 -- Ответ: a. 3:2 - -12.5 - В данной задаче есть шестерёнки с 16 и 40 зубьями. Определим передаточное соотношение: - Передаточное соотношение = (Количество зубьев в большей шестерёнке) / (Количество зубьев в меньшей шестерёнке) - Передаточное соотношение = 40 / 16 = 5 / 2 = 5:2 -- Ответ: b. 5:2 - -## Вопрос № 15 -15.1 -Робот-пылесос движется по комнате размером 4 метра на 4 метра. Его скорость - 0.5 м/с. Радиус робота - 20 см (0.2 м). Робот движется вдоль стен и очищает всю комнату. -Для нахождения времени, которое ему потребуется, мы можем рассмотреть одну сторону комнаты. Расстояние, которое робот должен пройти по стене, равно 4 метра, а его скорость составляет 0.5 м/с. Используем формулу времени: -Время=РасстояниеСкоростьВремя=СкоростьРасстояние -Время=4 м0.5 м/с=8 секундВремя=0.5м/с4м=8секунд -Роботу потребуется 8 секунд на очистку одной стороны комнаты. Поскольку ему нужно очистить 4 стороны, полное время очистки будет равно 4×8 сек=32 сек4×8сек=32сек. - -15.2 -Робот-курьер должен доставить посылку на расстояние 2 километра (2000 м). Его скорость составляет 1 м/с. -Используем формулу времени: -Время=РасстояниеСкоростьВремя=СкоростьРасстояние -Время=2000 м1 м/с=2000 секундВремя=1м/с2000м=2000секунд -Чтобы получить время в минутах, разделим на 60: -Время=2000 сек60≈33.33 минВремя=602000сек≈33.33мин -Роботу потребуется примерно 33.33 минуты для доставки посылки. - -15.3 -Робот-грузовик должен проехать 300 километров (300,000 м). Радиус колес грузовика составляет 40 см (0.4 м). Чтобы узнать, сколько оборотов совершит колесо, чтобы пройти это расстояние, мы можем использовать формулу: -Обороты=РасстояниеДлина_окружностиОбороты=Длина_окружностиРасстояние -Длина окружности колеса вычисляется как 2π×Радиус2π×Радиус: -Длина_окружности=2π×0.4 м≈2.51 мДлина_окружности=2π×0.4м≈2.51м -Теперь мы можем найти количество оборотов: -Обороты=300,000 м2.51 м/оборот≈119,522.91Обороты=2.51м/оборот300,000м≈119,522.91 -Колесо грузовика совершит около 119,523 оборотов. - -15.4 -Робот-садовник перемешивает землю в саду радиусом 5 метров. Угловая скорость вращения его инструмента составляет 2 радиана в секунду. Чтобы перемешать всю землю в саду, робот должен сделать полный оборот вокруг центра сада. -Для нахождения времени, которое потребуется роботу, мы можем использовать следующую формулу: -Время=УголУгловая_скоростьВремя=Угловая_скоростьУгол -Полный угол (360 градусов) в радианах составляет 2π2π радиана. Теперь мы можем вычислить время: -Время=2π рад2 рад/с=π секундВремя=2рад/с2πрад=πсекунд -Роботу потребуется π секундπсекунд или примерно 3.14 секунды, чтобы перемешать всю землю в саду. - -15.5 -Робот-подводник движется на глубину 100 метров. Его скорость - 0.2 м/с. -Используем формулу времени: -Время=ГлубинаСкоростьВремя=СкоростьГлубина -Время=100 м0.2 м/с=500 секундВремя=0.2м/с100м=500секунд -Чтобы получить время в минутах, разделим на 60: -Время=500 сек60=8.33 минВремя=60500сек=8.33мин -Роботу потребуется примерно 8.33 минуты, чтобы достичь дна океана на глубине 100 метров. diff --git a/content/posts/textbook/python.mdx b/content/posts/textbook/python.mdx new file mode 100644 index 0000000..7b640ce --- /dev/null +++ b/content/posts/textbook/python.mdx @@ -0,0 +1,1454 @@ +--- +title: Учебник Python v 1.3 +excerpt: Дополнительные задачи соедней сложности +date: '2023-10-17' +tags: + - Информатика + - Программирование + - Python + - Задачи +--- + + + +- [1. Ввод и вывод данных в Python](#1-ввод-и-вывод-данных-в-python) +- [2. Операторы в Python](#2-операторы-в-python) +- [3. Условный оператор в Python](#3-условный-оператор-в-python) +- [4. Цикл for в Python](#4-цикл-for-в-python) + + + +## 1. Ввод и вывод данных в Python + +Переменная - это именованный контейнер для заданного значения. + +```python + +# Пример создания переменных +age = 19 +name = 'Ivan' +isActive = True + +``` + +```python + +name = 'Petr' +Name = 'Ivan' + +# name и Name - это разные переменные + +``` + +```python +# Имена переменных не могут начинаться с цифры! +``` + +В Python есть 4 примитивных типа данных: + +```python + +# int (целые числа) +age = 18 + +# float (дробные числа) +fraction = 2.5 + +# str (строки) +fruit = 'apple' + +# bool (правда или ложь) +isReady = True # всего два значения: True и False + +``` +Мы можем преобразовывать один тип данных в другой с помощью одноименных функций. Например, число может стать строкой, строка - числом, дробное число - целым. + +```python + +age = '22' # str -> '22' +age = int(age) # int -> 22 +age = float(age) # float -> 22.0 +age = bool(age) # bool -> True + +``` + +Функция print() выводит данные на экран. + +```python + +name = 'Alexey' +# В скобках записываются переданные в функцию параметры +print(name) + +``` + + +```python + +# Вывод +>> Alexey + +``` + +Функция print() может принимать несколько входных параметров. + +```python + +print(1, 2, 3) + +``` + +```python + +# Вывод +>> 1 2 3 + +``` + +Каждый print() выводит данные на новой строке. По умолчанию завершающий символ строки равен символу новой строки (\n). + +```python + +print('Hello') +print('world') + +``` + +```python + +# Вывод +>> Hello +>> world + +``` + +Завершающий символ строки в функции print() можно изменять. + +```python + +print('Hello', end=' ') +print('world') + +``` + +```python + +# Вывод +>> Hello world + +``` + +Функция input() принимает пользовательский ввод данных. + +```python + +name = input() +print('Hello ' + name) +# После запуска скрипта Python будет ожидать ввода данных + +``` + +Функция input может принимать всего лишь один аргумент - строку, которая выведется перед входной строкой. + +```python + +name = input('Enter your name: ') +print('Hello, ' + name) + +``` + +Данные, полученные с помощью функции input(), имеют строковый тип данных (str). + +Строки можно складывать друг с другом, такое сложение называется их конкатенацией или объединением. + + +```python + +# Сумма двух строчных чисел +number1 = input('Введите число: ') +number2 = input('Введите число: ') +print(number1 + number2) + +``` + +```python + +# Ввод: +>> 1 +>> 2 +# Вывод: +>> 12 + +``` + +Преобразуем строковый тип в целое число (str -> int). + +```python +# Исправленная сумма двух чисел +number1 = int(input('Введите число: ')) +number2 = int(input('Введите число: ')) +print(number1 + number2) +``` + +```python +# Ввод: +>> 1 +>> 2 +# Вывод: +>> 3 +``` + +## Примеры + +1. Произведение + + +```python + +# Произведение двух введенных чисел +a = int(input('Введите число: ')) +b = int(input('Введите число: ')) +print(a * b) + +``` + +```python + +# Ввод: +>> 4 +>> 3 +# Вывод: +>> 12 + +``` + +2. Приветствие + +```python + +# Приветствие пользователя по его имени +firstname = input('Введите свое имя: ') # здесь приводить к типу int не нужно +lastname = input('Введите свою фамилию: ') +print('Здравствуйте, ' + firstname + ' ' + lastname) # не забудьте про пробел между словами + +``` + +```python + +# Ввод: +>> Иван +>> Иванов +# Вывод: +>> Здравствуйте, Иван Иванов + +``` + +3. Остаток + +```python + +# Операция % позволяет получить остаток от деления +print(10 % 2) # 0, так как 10 делится на 2 нацело +print(10 % 3) # 1, остаток равен 1 +print(10 % 4) # 2, остаток равен 2 + +``` + +```python + +# Вывод: +>> 0 +>> 1 +>> 2 + +``` + +4. Деление нацело + +```python + +# Операция // позволяет получить целую часть от деления +print(10 // 2) # 5 +print(10 // 3) # 3 +print(10 // 4) # 2 + +``` + +```python + +# Вывод: +>> 5 +>> 3 +>> 2 + +``` + +## Решение задач + +1. Сумма трех +Посчитайте сумму трех введенных целых чисел + +2. Площадь +Пользователь вводит стороны прямоугольника, выведите его площадь + +3. Периметр +Пользователь вводит стороны прямоугольника, выведите его периметр + +4. Площадь круга +Пользователь вводит радиус круга, выведите площадь круга + +```python + +# Ввод: +>> 2 +# Вывод: +>> 12.56 + +``` +5. Сумма дробных +Посчитайте сумму трех введенных дробных чисел. + +```python + +# Ввод: +>> 1.5 +>> 2.5 +>> 1.1 +# Вывод: +>> 5.1 + +``` +6. Школьники и яблоки +n школьников делят k яблок поровну, неделящийся остаток остается в корзинке. Сколько яблок достанется каждому школьнику? Сколько яблок останется в корзинке? + +```python +# Ввод: +>> 10 +>> 3 +# Вывод: +>> 3 # каждому +>> 1 # останется +``` + + + +- [1. Ввод и вывод данных в Python](#1-ввод-и-вывод-данных-в-python) +- [2. Операторы в Python](#2-операторы-в-python) +- [3. Условный оператор в Python](#3-условный-оператор-в-python) +- [4. Цикл for в Python](#4-цикл-for-в-python) + + + + + +## 2. Операторы в Python + +В языке программирования Python есть арифметические, логические и операторы сравнения. + +Сложение: + +```python +# Cложение +print(10 + 30) + +``` +```python +# Вывод +>> 40 +``` +Вычитание: +```python +# Вычитание +print(30 - 20) +``` +```python +# Вывод +>> 10 +``` +Умножение: +```python +# Умножение +print(2 * 9) +``` +```python +# Вывод +>> 18 +``` +Деление: +```python +# Деление +print(100 / 25) +``` +```python +# Вывод +>> 4 +``` +Кроме всем знакомой четверки есть и несколько экзотических операторов: взятие остатка от деления, деление нацело, возведение в степень. + +Взятие остатка от деления: +```python +# Взятие остатка от деления на 2 +print(0 % 2) +print(1 % 2) +print(2 % 2) +print(3 % 2) +print(4 % 2) +``` +```python +# Вывод +>> 0 # 0 % 2 +>> 1 # 1 % 2 +>> 0 # 2 % 2 +>> 1 # 3 % 2 +>> 0 # 4 % 2 +``` +```python +# Взятие остатка от деления на 3 +print(0 % 3) +print(1 % 3) +print(2 % 3) +print(3 % 3) +print(4 % 3) +print(5 % 3) +print(6 % 3) +``` +```python +# Вывод +>> 0 # 0 % 3 +>> 1 # 1 % 3 +>> 2 # 2 % 3 +>> 0 # 3 % 3 +>> 1 # 4 % 3 +>> 2 # 5 % 3 +>> 0 # 6 % 3 +``` +Деление нацело: +```python +# Деление нацело на 10 +print(91 // 10) +print(85 // 10) +print(16 // 10) +print(8 // 10) +``` +```python +# Вывод +>> 9 # 91 // 10 +>> 8 # 85 // 10 +>> 1 # 16 // 10 +>> 0 # 8 // 10 +``` +```python +# Деление нацело на 2 +print(14 // 2) +print(15 // 2) +print(7 // 2) +print(6 // 2) +``` +```python +# Вывод +>> 7 # 14 // 2 +>> 7 # 15 // 2 +>> 3 # 7 // 2 +>> 3 # 6 // 2 +``` +Возведение в степень: +```python +# Возведение в степень числа 2 +print(2 ** 0) # 1 +print(2 ** 1) # 2 +print(2 ** 2) # 2 * 2 +print(2 ** 3) # 2 * 2 * 2 +print(2 ** 4) # 2 * 2 * 2 * 2 +``` +```python +# Вывод +>> 1 +>> 2 +>> 4 +>> 8 +>> 16 +``` +Операторы сравнения (╮°-°)╮ могут возвращать всего два результата: True и False. + +Оператор равенства == возвращает True, если числа равны, и False в противном случае. +```python +a = 10 +b = 10 +print(a == b) +``` +```python +# Вывод +>> True +``` +```python +a = 8 +b = 7 +print(a == b) +``` +```python +# Вывод +>> False +``` + +Оператор неравенства != возвращает True, если числа не равны, и False в противном случае. +```python +a = 8 +b = 7 +print(a != b) +``` +```python +# Вывод +>> True +``` +Оператор больше > возвращает True, если первое число больше второго, и False в противном случае. +```python +a = 8 +b = 7 +print(a > b) +print(b > a) +``` +```python +# Вывод +>> True # a > b +>> False # b > a +``` +Оператор меньше < возвращает True, если первое число меньше второго, и False в противном случае. +```python +c = 100 +d = 200 +print(c < d) +print(d < c) +``` +```python +# Вывод +>> True # c < d +>> False # d < c + +# Оператор меньше или равно <= возвращает True, если первое число меньше второго или равно ему, и False в противном случае. +``` +Оператор больше или равно >= возвращает True, если первое число больше второго или равно ему, и False в противном случае. +```python +c = 200 +d = 200 +print(c >= d) +print(d <= c) +``` +```python +# Вывод +>> True # c >= d +>> True # d <= c +``` +Иногда требуются выполнение нескольких операторов сравнения сразу. Для таких целей существует оператор and (оператор логического умножения, конъюнкция). +```python +print(10 > 0 and 5 > 0) +print(10 % 2 == 0 and 12 % 2 == 0) # оба числа четные +``` +```python +# Вывод: +>> True +>> True +``` +Если хотя бы один из операторов равен False, то результат оператора будет равен False. Конъюкция истинна в том случае, когда все условия истинны. +```python +print(10 > 100 and 5 > 0 and 10 > 0) # False +``` +```python +# Вывод: +>> False +``` +Логическое сложение (дизъюнкция) или оператор or требует выполнения ХОТЯ БЫ одного условия. +```python +print(10 > 100 or 5 > 100 or 10 > 0) # True +print(1 == 0 or 2 == 0) # False, оба условия ложны +``` +```python +# Вывод: +>> True +>> False +``` +Последний из операторов - это оператор инверсии not. Оператор not изменяет (инвертирует) значение на противоположное. +```python +print(not False) # True +print(not True) # False +print(not 2 == 0) # True +``` +```python +# Вывод: +>> True +>> False +>> True +``` +Оператор not выполняется в приоритете. +```python +print(not 1 == 0 or 2 == 0) # True, значение первого условия инвертировано +``` +```python +# Вывод: +>> True +``` +Решение задач +1. Одинаковая четность +Даны два целых числа: A, B. Проверить истинность высказывания: "Числа A и B имеют одинаковую четность". +```python +# Ввод: +>> 0 +>> 1 +# Вывод: +>> False + +# Ввод: +>> 2 +>> 10 +# Вывод: +>> True +``` + +2. Одно положительное +Даны три целых числа: A, B, C. Проверить истинность высказывания: "Хотя бы одно из чисел A, B, C положительное". +```python +# Ввод: +>> 0 +>> -1 +>> -10 +# Вывод: +>> False + +# Ввод: +>> -1 +>> 1 +>> 0 +# Вывод: +>> True +``` +3. Последняя цифра +Дано натуральное число. Выведите его последнюю цифру. +```python +# Ввод: +>> 2345678 +# Вывод: +>> 8 + +# Ввод: +>> 19 +# Вывод: +>> 9 +``` +4. Цифры двузначного +Дано двузначное число. Найдите сумму его цифр. +```python +# Ввод: +>> 22 +# Вывод: +>> 4 + +# Ввод: +>> 99 +# Вывод: +>> 18 +``` +5. Цифры трехзначного +Дано трехзначное число. Найдите сумму его цифр. +```python +# Ввод: +>>123 +# Вывод: +>> 6 + +# Ввод: +>> 332 +# Вывод: +>> 8 +``` +6. Разные цифры +Дано трехзначное число. Проверить истинность высказывания: "Все цифры данного числа различны". +```python +# Ввод: +>> 123 +# Вывод: +>> True + +# Ввод: +>> 332 +# Вывод: +>> False +``` +7. Часы (финальный босс) +С начала суток прошло N секунд (N - целое). Найти количество часов, минут и секунд на электронных часах. +```python +# Ввод: +>> 1000 +# Вывод: +>> 0 16 40 + +# Ввод: +>> 10000 +# Вывод: +>> 2 46 40 + +# Ввод: +>> 85001 +# Вывод: +>> 23 36 41 +``` + + + +- [1. Ввод и вывод данных в Python](#1-ввод-и-вывод-данных-в-python) +- [2. Операторы в Python](#2-операторы-в-python) +- [3. Условный оператор в Python](#3-условный-оператор-в-python) +- [4. Цикл for в Python](#4-цикл-for-в-python) + + + +## 3. Условный оператор в Python + +Условный оператор выполняет некоторое действие, если указанное условие истинно (равно True). + +```python +# Обратите внимание на отступ в четыре (4!) пробела +# или одну табуляцию (кнопочка TAB) +if True: # Обязательное двоеточие перед блоком кода + print('Условие истинно, поэтому я напечатаюсь') +``` +```python +# Вывод +>> Условие истинно, поэтому я напечатаюсь +``` +В условии любой тип данных неявно приводится к bool. Пустая строка и ноль равны False. +```python +print(bool(1)) # -> True +print(bool(0)) # -> False +print(bool(10.2)) # -> True +print(bool('')) # -> False +print(bool('Hello')) # -> True +``` +Если условие ложно, то код, находящийся под оператором if не выполнится. +```python +if 0: # Обязательное двоеточие перед блоком кода + print('Я никогда не напечатаюсь :(') +``` +Если условие в if ложно, то выполнится оператор под оператором else. +```python +if 0: + print('Я никогда не напечатаюсь :(') +else: + print('Оператор else вступает в игру') +``` +```python +# Вывод +>> Оператор else вступает в игру +``` +Иногда двух вариантов недостаточно, для этого существует оператор elif, а для все остального есть... +```python +age = int(input()) +if age < 10: + print('Ваш возраст - это одна цифра :)') +elif age < 15: + print('Удачи с геометрией :):):)') +else: + print('Совсем взрослый уже :(') +``` +Если условие в операторе if ложно, то интерпретатор проверяет истинность условия операторов elif, всех по очереди. Если все условия ложны, то выполнится оператор else. + +Примеры +1. Четное-нечетное +```python +# Выведите строку 'четное', если введенное число четно, и строку 'нечетное', если число нечетно. +a = int(input()) +if a % 2 == 0: + print('четное') +else: + print('нечетное') +``` +```python +# Ввод +>> 10 +# Вывод +>> четное + +# Ввод +>> 11 +# Вывод +>> нечетное +``` +2. Много elif'ов +```python +# Если в вашем коде больше трех elif значит что-то не так и стоит придумать новый алгоритм. +# Это сугубо академический пример, так писать не стоит. +a = int(input('Введите число от одного до 1 до 100')) +if a < 10: + print('Ваше число меньше 10') +elif a < 20: + print('Ваше число меньше двадцатки') +elif a < 30: + print('30 - это потолок') +elif a < 40: + print('Ваше число меньше 40') +elif a < 50: + print('Много, но не больше полтинника') +elif a < 60: + print('Число меньше, чем шесть*десять') +elif a < 70: + print('Ваше число расположено в восьмом десятке') +elif a < 80: + print('Ваше число меньше 80') +elif a < 90: + print('Ваше число находится в 9 десятке') +elif a < 100: + print('Сотня больше вашего числа') +else: + print('Хитро, но меня не обманешь, число слишком большое') +``` +```python +# Ввод +>> 11 +# Вывод +>> Ваше число меньше двадцатки + +# Ввод +>> 91 +# Вывод +>> Сотня больше вашего числа + +# Ввод +>> 58 +# Вывод +>> Число меньше, чем шесть*десять +``` + +3. Белая или черная +```python +# Пользователь вводит два числа: координаты шахматной клетки. +# Выведите YES, если клетка белая, и NO, если - черная. + +x = int(input('Введите координату x: ')) +y = int(input('Введите координату y: ')) +# Идея такая: если четность координат совпадает, +# то это черная клетка, а если - нет, то белая. + +if (x + y) % 2 == 1: + print('YES') +else: + print('NO') +``` +```python +# Ввод: +>> 1 +>> 1 +# Вывод: +>> NO + +# Ввод: +>> 1 +>> 1 +# Вывод: +>> NO +``` +4. Белая или черная (случайные координаты) +```python +# Та же задача, но со случайными числами. +# Координаты шахматной клетки выбираются случайным образом +# Выведите YES, если клетка белая, и NO, если - черная. + +from random import randint # импортирование функции randint +x = randint(1,8) # функция randint вернет случайное число от 1 до 8 +y = randint(1,8) +print(x, y) # вывод пары случайных чисел + +if (x + y) % 2 == 1: + print('YES') +else: + print('NO') +``` +Решение задач +1. Меньшее из двух +Пользователь вводит два целых числа. Выведите меньшее из них. + +2. Четырехзначное? +Пользователь вводит целое число. Выведите YES, если это число является четырехзначным, и NO в противном случае. + +3. Треугольник? +Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей. Дано a, b, c - стороны предполагаемого треугольника. Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует. +```python +# Ввод: +>> 3 +>> 4 +>> 5 +# Вывод: +>> YES + +# Ввод: +>> 3 +>> 10 +>> 5 +# Вывод: +>> NO +``` +4. Время суток +Пользователь вводит время в часах. Если введенное число находится между 5 и 11 часами включительно, выведите строку 'Утро'. Если число лежит в диапазоне от 12 до 17 часов включительно, выведите строку 'День'. Если число находится между 18 и 22, то выведите 'Вечер'. В случае поздней ночи (от 23 до 4 включительно) выведите 'Ночь'. В остальных случаях выведите строку 'Ошибка'. +```python +# Ввод: +>> 3 +# Вывод: +>> Ночь + +# Ввод: +>> 6 +# Вывод: +>> Утро + +# Ввод: +>> 13 +# Вывод: +>> День + +# Ввод: +>> 2020 +# Вывод: +>> Ошибка +``` +5. День недели +Пользователь вводит номер дня недели. Выведите строку 'Выходные', если введенное число равно 6 или 7. В случае, если число лежит в диапазоне от 1 до 5 включительно, выведите строку 'Будни'. +```python +# Ввод: +>> 3 +# Вывод: +>> Будни + +# Ввод: +>> 6 +# Вывод: +>> Выходные +``` +6. Описание числа +Пользователь вводит целое число. Выведите его строку-описание вида "отрицательное четное число", "ноль", "положительное нечетное число", например, численным описанием числа 190 является строка "положительное четное число". + +```python +# Ввод: +>> 1 +# Вывод: +>> положительное нечетное число + +# Ввод: +>> 06 +# Вывод: +>> отрицательное четное число + +# Ввод: +>> 0 +# Вывод: +>> ноль + +# Ввод: +>> 2 +# Вывод: +>> положительное четное число +``` +7. Конь (финальный босс) +Шахматный конь ходит буквой "Г" - на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку "Ошибка!". +```python +# Ввод: +>> 1 # координата x1 +>> 1 # координата y1 +>> 2 # координата x2 +>> 2 # координата y2 +# Вывод: +>> NO + +# Ввод: +>> 1 # координата x1 +>> 1 # координата y1 +>> 3 # координата x2 +>> 2 # координата y2 +# Вывод: +>> YES + +# Ввод: +>> 3 # координата x1 +>> 8 # координата y1 +>> 2 # координата x2 +>> 6 # координата y2 +# Вывод: +>> YES + +# Ввод: +>> 3 # координата x1 +>> 4 # координата y1 +>> 5 # координата x2 +>> 6 # координата y2 +# Вывод: +>> YES +``` + + + +- [1. Ввод и вывод данных в Python](#1-ввод-и-вывод-данных-в-python) +- [2. Операторы в Python](#2-операторы-в-python) +- [3. Условный оператор в Python](#3-условный-оператор-в-python) +- [4. Цикл for в Python](#4-цикл-for-в-python) + + + +## 4. Цикл for в Python + +Цикл в любом языке программирования - это многократное выполнение одного и то же действия. + +В Python все немного не так. Здесь цикл for - это цикл перебора последовательности. Он состоит из двух компонент: переменной (переменных) цикла и последовательности. Приведу пример: +```python +for item in 'one', 'two', 'three': + print(item) +``` +В приведенном выше примере переменная цикла item по очереди принимает каждое значение последовательности, которая записана после служебного слова in. На первом повторении переменная item равна строке 'one', на втором - строке 'two', на третьем - строке 'three'. +```python +# Вывод: +>> one +>> two +>> three +``` +Еще несколько примеров: +```python +for element in '1', 'hello', 2, 1990, True, False: + print(element) +``` +```python +# Вывод: +>> 1 +>> hello +>> 2 +>> 1990 +>> True +>> False +``` +```python +for letter in 'Hello world': + print(letter) +``` +```python +>> H +>> e +>> l +>> l +>> o +>> +>> w +>> o +>> r +>> l +>> d +``` +Функция range() + +Функция range() возвращает диапазон (последовательность) целых чисел. range() может принимать 1, 2 или 3 аргумента. + +Примеры функции range() с одним аргументом: +```python +# range() с одним аргументом + +print('range(3) -> 0, 1, 2') +for x in range(3): # range(3) -> 0, 1, 2 + print(x) + +print('range(5) -> 0, 1, 2, 3, 4') +for x in range(5): # range(5) -> 0, 1, 2, 3, 4 + print(x) + +# range(1) -> 0 +# range(6) -> 0, 1, 2, 3, 4, 5 +# range(10) -> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 +``` +```python +# Вывод: +>> range(3) -> 0, 1, 2 +>> 0 +>> 1 +>> 2 +>> range(5) -> 0, 1, 2, 3, 4 +>> 0 +>> 1 +>> 2 +>> 3 +>> 4 +``` +Примеры функции range() с двумя аргументами: +```python +print('range(3, 5) -> 3, 4') +for x in range(3, 5): # range(3, 5) -> 3, 4 + print(x) + +print('range(1, 5) -> 1, 2, 3, 4') +for x in range(1, 5): # range(1, 5) -> 1, 2, 3, 4 + print(x) + +# range(2, 7) -> 2, 3, 4, 5, 6 +# range(100, 105) -> 100, 101, 102, 103, 104 +# range(50, 53) -> 50, 51, 52 +``` +```python +# Вывод: +>> range(3, 5) -> 3, 4 +>> 3 +>> 4 +>> range(1, 5) -> 1, 2, 3, 4 +>> 1 +>> 2 +>> 3 +>> 4 +``` +Примеры функции range() с тремя аргументами: +```python +print('range(0, 10, 2) -> 0, 2, 4, 6, 8') +for x in range(0, 10, 2): # range(0, 10, 2) -> 0, 2, 4, 6, 8 + print(x) + +print('range(1, 10, 2) -> 1, 3, 5, 7, 9') +for x in range(1, 10, 2): # range(1, 10, 2) -> 1, 3, 5, 7, 9 + print(x) + +print('range(10, 20, 3) -> 10, 13, 16, 19') +for x in range(10, 20, 3): # range(10, 20, 3) -> 10, 13, 16, 19 + print(x) + +# range(2, 7, 5) -> 2 +# range(1, 8, 4) -> 1, 5 +# range(4, 20, 5) -> 4, 9, 14, 19 +``` +```python +>> range(0, 10, 2) -> 0, 2, 4, 6, 8 +>> 0 +>> 2 +>> 4 +>> 6 +>> 8 +>> range(1, 10, 2) -> 1, 3, 5, 7, 9 +>> 1 +>> 3 +>> 5 +>> 7 +>> 9 +>> range(10, 20, 3) -> 10, 13, 16, 19 +>> 10 +>> 13 +>> 16 +>> 19 +``` +Решение задач +1. Вывод чисел от 0 до N +Пользователь вводит число N. Выведите все числа от 0 до N включительно. +```python +# Ввод: +>> 4 +# Вывод: +>> 0 +>> 1 +>> 2 +>> 3 +>> 4 +``` +2. Вывод чисел от K до N +Пользователь вводит числа K и N. Выведите все числа от K до N включительно. +```python +# Ввод: +>> 2 +>> 7 +# Вывод: +>> 2 +>> 3 +>> 4 +>> 5 +>> 6 +>> 7 +``` +3. Сумма от K до N +Пользователь вводит числа K и N. Выведите сумму чисел от K до N включительно. +```python +# Ввод: +>> 1 +>> 5 +# Вывод: +>> 15 +``` +4. Сумма четных от K до N +Пользователь вводит числа K и N. Выведите сумму только четных чисел от K до N включительно. +```python +# Ввод: +>> 1 +>> 5 +# Вывод: +>> 6 # 2 + 4 +``` +5. Сумма дробей (часть первая) +Пользователь вводит число N. Найдите сумму чисел: 1 + 1.1 + 1.2 + 1.3 + ... + (1 + N / 10). +```python +# Ввод: +>> 5 +# Вывод: +>> 7.5 +``` +6. Сумма дробей (часть вторая) +Пользователь вводит число N. Найдите сумму чисел: 1 + 1/2 + 1/3 + ... + 1/N +```python +# Ввод: +>> 5 +# Вывод: +>> 2.283 +``` +Цикл while в Python +Назад в начало +Цикл while ("пока") позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается после ключевого слова while и проверяется до выполнения тела цикла. + +Цикл while используется, когда невозможно определить точное количество повторений цикла. + +i = 0 # объявление переменной i для условия цикла +while i < 5: # ключевое слово 'while' и условие выполнение цикла + # тело цикла + print(i) # вывод значения переменной i + i += 1 # увеличение значения переменной i на единицу + +# Вывод: +>> 0 +>> 1 +>> 2 +>> 3 +>> 4 + +Цикл while может быть бесконечным. + +i = 0 +while True: # условие всегда истинно + print(i) + i += 1 + +# Вывод: +>> 0 +>> 1 +>> 2 +>> 3 +>> 4 +... +>> 999 +... +# Это может продолжаться долго... + +Выполнение цикла можно прерывать с помощью оператора break. + +i = 0 +while 1: # условие всегда истинно + if i == 3: # если i равно 3, то вызываем оператор break + break # оператор break прерывает выполнение цикла + print(i) + i += 1 + +# Вывод: +>> 0 +>> 1 +>> 2 + +Оператор continue начинает повторение цикла заново. + +i = 0 +while i < 5: + i += 1 # + if i % 2 == 1: # если значение i нечетно, то вызываем оператор continue + continue # оператор continue начинает повторение цикла заново + # в случае вызова continue код ниже не выполнится + print(i) + +# Вывод: +>> 0 +>> 2 +>> 4 + +Как и для цикла for, для цикла while мы можем записать конструкцию else. + +x = 1 +while x < 5: + print(x) + x += 1 +else: + print('Цикл завершен') + +# Вывод: +>> 1 +>> 2 +>> 3 +>> 4 +>> Цикл завершен + +Примеры +1. Числа от A до B +# Пользователь вводит числа A и B (A > B). Выведите все числа от A до B включительно. + +A = int(input('Введите число: ')) +B = int(input('Введите число: ')) + +while A >= B: + print(A) + A -= 1 + +# Ввод: +>> 12 +>> 7 +# Вывод: +>> 12 +>> 11 +>> 10 +>> 9 +>> 8 +>> 7 + +# Ввод: +>> 5 +>> 2 +# Вывод: +>> 5 +>> 4 +>> 3 +>> 2 + +2. Много чисел +# Пользователь вводит числа до тех пор, пока не введет 0. +# Выведите количество введенных чисел (0 считать не нужно). + +n = int(input('Введите число: ')) +counter = 0 # счетчик введенных чисел +while n: # n неявно преобразуется в тип bool + # если n равно 0, то выполнение цикла прервется + n = int(input('Введите число: ')) # вводим очередное число + counter += 1 # увеличиваем счетчик + +print(f'Количество чисел {counter}') + +# Ввод: +>> 1 +>> 10 +>> 100 +>> 1000 +>> 0 +# Вывод: +>> Количество чисел 4 + +3. Наименьший делитель +# Пользователь вводит число N (N > 1). Выведите его наименьший делитель. +N = int(input('Введите число: ')) +div = 2 + +while N % div != 0: + div += 1 +print(f'Наименьший делитель равен {div}') + +# Ввод: +>> 10 +# Вывод: +>> Наименьший делитель равен 2 + +# Ввод: +>> 15 +# Вывод: +>> Наименьший делитель равен 3 + +# Ввод: +>> 17 +# Вывод: +>> Наименьший делитель равен 17 +Решение задач +1. Четные от A до B +Пользователь вводит числа A и B (A > B). Выведите четные числа от A до B включительно. + +# Ввод: +>> 10 +>> 1 +# Вывод: +>> 10 +>> 8 +>> 6 +>> 4 +>> 2 + +2. От A до B на три +Пользователь вводит числа A и B (A < B, A меньше B). Выведите числа от A до B включительно, которые делятся на три. + +# Ввод: +>> 1 +>> 15 +# Вывод: +>> 3 +>> 6 +>> 9 +>> 12 +>> 15 + +3. Сумма чисел +Пользователь вводит числа до тех пор, пока не введет 0. Выведите сумму введенных чисел (0 считать не нужно). + +# Ввод: +>> 1 +>> 15 +>> 10 +>> 11 +>> 2 +>> 0 +# Вывод: +>> Сумма равна: 39 + +4. Максимум +Пользователь вводит числа до тех пор, пока не введет 0. Выведите максимальное введенное число (0 считать не нужно). + +# Ввод: +>> 1 +>> 15 +>> 10 +>> 11 +>> 2 +>> 0 +# Вывод: +>> Максимум равен: 15 + +5. Минимум +Пользователь вводит числа до тех пор, пока не введет 0. Выведите минимальное введенное число (0 считать не нужно). + +# Ввод: +>> 1 +>> 15 +>> 10 +>> 11 +>> 2 +>> 0 # 0 не входит в последовательность +# Вывод: +>> Минимум равен: 1 + +6. Факториал +Пользователь вводит число N. Выведите факториал число N. Факториал числа N - это произведение всех чисел от 1 до N включительно. Например, факториал числа 5 равен 120. + +# Ввод: +>> 5 +# Вывод: +>> 120 + +# Ввод: +>> 3 +# Вывод: +>> 6 + +# Ввод: +>> 4 +# Вывод: +>> 24 +7. Фибоначчи (финальный босс) +Пользователь вводит число N. Выведите N-ное по счету число Фибоначчи. Последовательность чисел Фибоначчи рассчитывается по такой формуле: F(1) = 1, F(2) = 1, F(K) = F(K-2) + F(K-1). Идея такая: каждое следующее число равно сумму двух предыдущих. + +Первые 10 чисел последовательности: 1 1 2 3 5 8 13 21 34 55 ... + +# Ввод: +>> 5 +# Вывод: +>> 5 + +# Ввод: +>> 10 +# Вывод: +>> 55 + +# Ввод: +>> 8 +# Вывод: +>> 21 \ No newline at end of file diff --git a/styles/markdown.css b/styles/markdown.css index 8e7cc92..caf911b 100644 --- a/styles/markdown.css +++ b/styles/markdown.css @@ -43,6 +43,7 @@ h3 a > svg { pre { @apply !my-0 !p-0; + } pre > code { @@ -110,10 +111,16 @@ html.dark [data-rehype-pretty-code-title] { [data-rehype-pretty-code-title] + pre, [data-rehype-pretty-code-title] + pre > code { @apply !rounded-t-none; + +} + +[data-rehype-pretty-code-fragment]{ + margin-bottom: 10px; } code .word { @apply inline-block py-0 px-1; + margin-bottom: 10px; } code > .line.highlighted,