3.4–3.5. Повороты роботов. Практическая работа
Информатика, 5 класс. Учебник: Кадыркулов Р. А., Нурмуханбетова Г. К. (Алматыкітап баспасы, 2023). Раздел 3: Робототехника. Страницы 75–81.
Чему научишься
- Объяснять, что такое линейный алгоритм.
- Составлять алгоритм и программу движения робота по квадрату с гироскопом.
- Понимать, зачем в программе цикл и сколько раз его повторять.
- Разбирать программы роботов «Часовой» и «Медоносная пчела» и находить в них слабые места.
- Рассчитывать угол поворота для треугольника, квадрата и шестиугольника.
Разминка
- Какие фигуры ты знаешь? Треугольник, квадрат, прямоугольник, шестиугольник, круг.
- Сколько градусов в полном обороте? 360°.
- Сколько углов у квадрата и какие они? Четыре, все по 90°.
- Какие углы у равностороннего треугольника? Все по 60°.
- Где в жизни нужны знания о фигурах? Плитка на полу, разметка футбольного поля, пчелиные соты, маршрут робота-пылесоса.
Разбираемся
Линейный алгоритм
Линейный алгоритм — это последовательность команд, которые выполняются по одному разу, строго одна за другой. Как рецепт: помыл, нарезал, посолил, без возвратов назад.
Вот алгоритм движения робота по квадрату:
💡 Заметь: команды «вперёд — поворот» повторяются. Писать их четыре раза подряд долго. Поэтому в программе их кладут в цикл — блок, который повторяет то, что внутри, нужное число раз.
Программа «Движение по квадрату»
На рисунке 3 в учебнике программа такая:
⚠️ Частая ошибка. Гироскоп в этой программе обнуляется только один раз, перед циклом. После первого поворота датчик показывает около 90°. На втором круге условие «угол > 90» уже почти выполнено, и робот повернёт совсем чуть-чуть. Чтобы каждый поворот был по 90°, поставь блок «Гироскоп — Сброс» внутрь цикла, сразу перед поворотом. Тогда каждый поворот отсчитывается заново от нуля.
📌 Сбросил гироскоп → повернул до порога → снова сбросил. Так робот проходит любые фигуры с повторяющимися поворотами.
Робот «Часовой»
Часовой охраняет пост: идёт вперёд, останавливается, смотрит налево и направо, разворачивается и идёт обратно. Алгоритм для робота (рис. 5):
- Едет вперёд 2 секунды.
- Поворачивает влево на 90°.
- «Смотрит» 1 секунду.
- Поворачивает вправо на 180°.
- «Смотрит» 1 секунду.
- Поворачивает вправо на 90° — теперь он смотрит назад.
- Едет вперёд 2 секунды — возвращается по тому же пути.
Программа из учебника (рис. 6) собрана из блоков Независимое управление моторами и Ожидание:
- езда: значения 50 и 50, 2 секунды;
- повороты на месте: значения 5 и −5 (или −5 и 5 — в другую сторону), а остановка — по гироскопу;
- «смотрит по сторонам»: моторы выключены, Ожидание — Время, 1 секунда.
💡 Для поворотов взято маленькое значение 5: робот поворачивает медленно и почти не проскакивает нужный угол.
Проверь, как понял
Проверь себя
- Чем линейный алгоритм отличается от программы с циклом? В линейном каждая команда выполняется один раз; в цикле группа команд повторяется.
- Зачем обнулять гироскоп перед поворотом? Чтобы угол считался от текущего положения робота.
- Сколько поворотов нужно, чтобы обойти квадрат и вернуться к старту? Три поворота, чтобы пройти 4 стороны; четвёртый поворот вернёт робота в начальное направление.
- Почему для поворотов берут маленькую мощность мотора? Чтобы робот не проскакивал нужный угол по инерции.
Решаем упражнения
№ 1
(задание без номера в учебнике: «Подумай», вопрос 1) Какие геометрические фигуры ты знаешь? Чем они отличаются друг от друга (рис. 1)?
Как думать. Сравнивай число сторон и углы.
Ответ: круг — нет углов, полный оборот 360°; равносторонний треугольник — 3 равные стороны, углы по 60°; квадрат — 4 равные стороны, углы по 90°. Ещё есть прямоугольник, ромб, шестиугольник и другие. Фигуры отличаются числом сторон, их длиной и величиной углов.
№ 2
(задание без номера в учебнике: «Подумай», вопрос 2) Используешь ли ты знания о фигурах в жизни? Приведи примеры.
Пример ответа.
- Футбольное поле — прямоугольник, центральный круг — окружность.
- Плитка в ванной — квадраты; пчелиные соты — шестиугольники.
- Чтобы обойти квартал, поворачиваешь на углах примерно на 90°.
- Тарелку для торта режут на равные части, как круг на секторы.
Ответ: любые 2–3 примера из жизни.
№ 3
(задание без номера в учебнике: «Подумай», вопрос 3) Как свойства фигур можно использовать при движении роботов?
Как думать. Робот, который обходит фигуру, в каждом углу поворачивает на какой-то угол.
Ответ: зная фигуру, можно рассчитать маршрут: сколько сторон проехать и на сколько градусов повернуть в каждой вершине. Для квадрата — 4 стороны и повороты по 90°, для треугольника — 3 стороны и повороты по 120°. Так роботы объезжают препятствия, патрулируют территорию и рисуют фигуры.
№ 4
(задание без номера в учебнике: «Создание программы движения робота по квадрату») Разработай программу движения робота по периметру квадрата.
Как думать. Одна сторона + один поворот — это одна «порция». Таких порций нужно столько, сколько сторон.
Как сделать.
- Поставь блок Гироскоп — Сброс (порт, куда подключён датчик; в учебнике — 2).
- Добавь Цикл и задай в нём счётчик 4.
- Внутрь цикла положи Независимое управление моторами B+C: 50 и 50, 2 секунды — езда вперёд.
- Затем снова Гироскоп — Сброс (это наша поправка, чтобы каждый поворот считался от нуля).
- Независимое управление моторами B+C: 50 и 0, «Включить» — поворот.
- Ожидание: гироскоп, Сравнение — Угол, тип 2 («>»), порог 90.
- После цикла можно выключить моторы.
Что должно получиться. Робот едет вперёд, поворачивает примерно на 90°, и так 4 раза. На полу его путь похож на квадрат, а в конце он возвращается к старту.
⚠️ Если робот поворачивает против часовой стрелки, угол уходит в минус. Тогда в Ожидании ставь тип 4 («<») и порог −90.
Ответ: Сброс гироскопа → Цикл ×4 [вперёд 2 с → Сброс → поворот → ждать угол > 90].
№ 5
«Примени на практике»: программа робота «Часовой» (рис. 6). Собери программу, по которой робот повторяет действия часового на посту.
Как думать. В каждом повороте три части: включить моторы в разные стороны → ждать угол по гироскопу → выключить моторы. Чтобы не путаться со знаками, перед каждым поворотом обнуляй датчик.
💡 Числа 5 и −5 в поворотах учебника — это медленный поворот: робот не проскакивает угол. Какой порядок (5 и −5 или −5 и 5) даёт поворот влево, зависит от того, к какому порту подключено левое колесо. Проверь на своём роботе.
Ответ: программа из блоков Независимое управление моторами, Ожидание (гироскоп и время) и Сброс гироскопа: вперёд → влево 90° → пауза → вправо 180° → пауза → вправо 90° → вперёд.
№ 6
(задание без номера в учебнике: «Анализ», работа в группе) Проанализируйте программу «Часовой» и её числа. Может ли робот выполнить все функции военного часового? Какую не сможет и почему?
Как думать. Сравни, что делает настоящий часовой, и что умеет программа.
Решение.
- Числа: 50 и 50, 2 секунды — длина пути по посту; 5 и −5 — медленный поворот; 90 и 180 — углы поворотов; 1 секунда — пауза «осмотра».
- Что робот может: ходить по маршруту, разворачиваться, останавливаться.
- Что не может: на самом деле «смотреть» — в программе нет ни камеры, ни датчика, это просто пауза. Он не заметит нарушителя, не отличит своего от чужого, не поднимет тревогу, не примет решение в неожиданной ситуации.
Ответ: движения часового робот повторяет, а охранять — нет: у него нет датчиков, чтобы замечать людей, и нет программы, чтобы на них реагировать.
№ 7
(задание без номера в учебнике: «Синтез», работа в паре) Как ещё доработать программу «Часовой»? Какие функции добавить?
Пример ответа.
- Бесконечное патрулирование: положить всю программу в цикл без ограничения.
- Замечать людей: во время «осмотра» проверять ультразвуковым датчиком расстояние: если ближе 50 см кто-то появился — реагировать.
- Тревога: при обнаружении включить звук и мигание подсветки блока EV3.
- Кнопка «свой»: нажал датчик касания — робот понимает, что пришёл свой, и не поднимает тревогу.
- Счёт обходов: выводить на экран, сколько раз робот прошёл пост.
Ответ: свои 2–3 улучшения с указанием, каким датчиком или блоком их сделать.
№ 8
«Примени на практике»: робот «Медоносная пчела» (рис. 8). Проверь программу на роботе. Какой получится результат?
Как думать. Разбери блоки: Сброс гироскопа → Цикл ×6 [моторы 50 и 50 на 1 оборот колеса → моторы 100 и 0 → ждать угол > 60]. 6 сторон, поворот на 60° — это шестиугольник: 6 · 60° = 360°.
Решение.
- Робот проезжает короткую сторону (один оборот колеса).
- Поворачивает примерно на 60°.
- Повторяет так 6 раз.
⚠️ Как и в «Квадрате», сброс гироскопа здесь стоит только перед циклом. Чтобы все 6 поворотов были по 60°, добавь Гироскоп — Сброс внутрь цикла перед поворотом. А значение 100 при повороте очень большое: робот проскочит угол, и фигура «поплывёт». Лучше взять 20–30.
Ответ: робот должен проехать путь в форме шестиугольника — как ячейка пчелиных сот.
№ 9
Домашнее задание. Проанализируй программу на рисунке 9. Что получится? Объясни почему.
Как думать. Блоки: Сброс гироскопа → Цикл ×3 [моторы 50 и 50, 2 секунды → моторы 50 и 0 → ждать угол > 120].
Решение.
- 3 повтора — значит 3 стороны.
- Все стороны одинаковые: каждая — 2 секунды езды с одной и той же мощностью.
- Поворот 120° = 180° − 60°: это внешний угол равностороннего треугольника. Проверка: 3 · 120° = 360°.
💡 Сравни три программы: квадрат — цикл 4, поворот 90°; треугольник — цикл 3, поворот 120°; шестиугольник — цикл 6, поворот 60°. Правило: поворот = 360° : число сторон.
Ответ: робот проедет равносторонний треугольник и вернётся к старту (при условии, что гироскоп сбрасывается перед каждым поворотом).
Шпаргалка
- Линейный алгоритм — команды по одному разу в строгом порядке.
- Одинаковые «вперёд + поворот» удобно класть в цикл.
- Перед каждым поворотом обнуляй гироскоп.
- Поворот по часовой — сравнивай «> угол», против часовой — «< −угол».
- Для точного поворота — маленькая мощность моторов.