На Горох
Информатика

19. Куда повернуться?

"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.

Объяснение темы В оглавлении: 19. Куда повернуться?

Кратко о теме

Поворот помогает исполнителю изменить направление движения, не сдвигаясь с места. Чтобы команда была понятной, указывают, в какую сторону повернуться и на какой угол. Направление после поворота становится начальным для следующей команды, поэтому действия нужно выполнять по порядку. Зная это, можно управлять движением по маршруту, находить итоговое направление после нескольких команд и составлять алгоритмы для построения фигур.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Направление движения — положение исполнителя относительно сторон света или выбранной системы координат. Проще говоря, оно показывает, куда исполнитель смотрит или куда будет двигаться по команде. Это понятие нужно, чтобы описывать маршрут без путаницы, например различать движение на север и на восток.

Поворот — изменение направления движения исполнителя без изменения его текущего положения. Исполнитель остаётся на месте, но начинает смотреть в другую сторону. Различать поворот и движение важно, чтобы правильно задавать команды и определять, когда изменяются координаты.

Угол поворота — величина, показывающая, на сколько градусов изменяется направление. Например, 90° — четверть полного оборота, а 180° — половина. Угол нужен, чтобы точно задать величину изменения, а не только сказать, в какую сторону поворачивать.

Команда поворота — инструкция исполнителю повернуть налево или направо на заданный угол. В ней указывают и сторону, и величину поворота, например «налево на 90°». Такая запись позволяет исполнителю однозначно понять действие и выполнить его в алгоритме.

Как это устроено

Для однозначного поворота необходимо указать и направление, и величину угла. Если сказать только «повернись», исполнитель не поймёт, куда ему поворачиваться; если назвать лишь угол, останутся два возможных направления. Например, поворот на 90° может быть выполнен как налево, так и направо, и результат будет разным. Поэтому полная команда сочетает сторону и угол.

При поворотах на 90° удобно представлять четыре основных направления по кругу: север, восток, юг, запад. Если исполнитель смотрит на север, поворот направо на 90° направляет его на восток, а налево на 90° — на запад. Поворот на 180° приводит к противоположному направлению: с севера — на юг, с востока — на запад. Повороты на 270° дают результат, противоположный повороту на 90° в ту же сторону: налево на 270° — это направо на 90°.

Повороты на 90° удобно описывать через стороны света или направления координатной сетки, потому что между соседними направлениями всегда один и тот же угол. На сетке это соответствует переходу с горизонтального движения на вертикальное или наоборот. Такое представление помогает не воображать произвольный угол, а просто пересчитать направления. Оно особенно полезно, когда нужно проследить маршрут по клеткам.

Несколько поворотов выполняют по очереди, каждый раз от нового направления. Причина проста: команда меняет текущее направление, а не возвращает исполнителя к тому, куда он смотрел в начале. Например, после поворота на восток следующий поворот налево отсчитывается уже от востока. Запись промежуточных направлений помогает не сбиться и получить верный результат.

Чтобы составить команды для маршрута или фигуры, сначала разделите путь на отрезки движения и повороты. Для каждого отрезка выясните, куда должен идти исполнитель дальше, и выберите поворот относительно его текущего направления. Затем запишите команды в том порядке, в котором они должны выполняться. Если одни и те же действия повторяются, как при построении квадрата, их можно объединить в цикл.

Повороты исполнителя и изменение направления

В таблице для сравнения выбрано начальное направление на север; результат для другого начального направления можно получить тем же правилом поворота. Обратная команда отменяет сделанный поворот и возвращает исходное направление. Для поворота на 180° обратным будет ещё один поворот на 180°.

КомандаНаправление до поворотаУгол поворотаНаправление после поворотаОбратная команда
Поворот налево на 90°Север90° налевоЗападПоворот направо на 90°
Поворот направо на 90°Север90° направоВостокПоворот налево на 90°
Поворот на 180°Север180°ЮгПоворот на 180°
Поворот налево на 270°Север270° налевоВостокПоворот направо на 270°
Поворот направо на 270°Север270° направоЗападПоворот налево на 270°

Разбор задач

Задача 1. Исполнитель смотрит на север. Определить его направление после поворота направо на 90°, затем налево на 180°. Решать нужно по порядку: второй поворот зависит от того, куда исполнитель направлен после первого. Не следует оба действия отсчитывать от начального направления.

  1. Начальное направление — север. После поворота направо на 90° исполнитель направлен на восток. Это направление становится исходным для следующей команды.

  2. Теперь выполним поворот налево на 180° от востока. Половина оборота приводит к направлению, противоположному востоку, то есть к западу. Положение при этом не меняется.

Ответ: исполнитель смотрит на запад.

Задача 2. Исполнитель должен пройти по маршруту: два шага на восток, повернуть налево, три шага, повернуть направо и пройти ещё два шага. Нужно записать последовательность команд, учитывая, что повороты выполняются относительно текущего направления. Сначала отметим первый отрезок: после двух шагов на восток исполнитель продолжает смотреть на восток. Затем каждый поворот задаёт направление следующего отрезка.

  1. Запишем начало: пройти 2 шага на восток. Это можно обозначить как команду движения на восток на 2 шага; после неё направление остаётся восточным.

  2. Повернуть налево на 90°: с востока исполнитель будет направлен на север. Затем дать команду пройти 3 шага вперёд, то есть на север.

  3. Повернуть направо на 90°: с севера исполнитель будет направлен на восток. Последняя команда — пройти ещё 2 шага вперёд, теперь на восток.

Ответ: 2 шага на восток; поворот налево на 90°; 3 шага вперёд; поворот направо на 90°; 2 шага вперёд.

Задача 3. Составить алгоритм, по которому исполнитель начертит квадрат, начиная движение на север. У квадрата четыре равные стороны, а направление каждого следующего отрезка отличается от предыдущего на 90°. Поэтому достаточно повторить один и тот же блок команд четыре раза.

  1. Выберем длину стороны и команду «пройти вперёд» на это расстояние. Начальное направление уже задано — север, поэтому первый отрезок будет проведён на север.

  2. После прохода стороны повернуть направо на 90°. Следующий отрезок будет направлен на восток; после него такой же поворот направит исполнителя на юг.

  3. Повторить проход стороны и поворот ещё так, чтобы всего получилось четыре стороны. После четвёртого отрезка последний поворот вернёт исполнителя к начальному направлению.

Ответ: повторить 4 раза: пройти сторону вперёд, повернуть направо на 90°. Получится квадрат, если каждый отрезок имеет одинаковую длину.

Типичные ошибки

Путают левый и правый поворот, определяя их со стороны наблюдателя. Это происходит, когда забывают, что команда дана исполнителю, а не тому, кто смотрит на него. Проверка: мысленно встаньте на место исполнителя и представьте, куда он смотрит; затем определите его левую и правую стороны.

Считают, что поворот изменяет положение исполнителя. Такую ошибку допускают, потому что в обычной речи поворот иногда связывают с перемещением. Проверьте себя: после одной только команды поворота координаты остаются прежними, меняется лишь направление. Координаты изменятся при выполнении команды движения.

Каждый новый поворот отсчитывают от исходного направления. Ошибка возникает, если не учитывать, что после команды исполнитель уже смотрит в другую сторону. Проверяйте промежуточный результат после каждого шага: запишите текущее направление и от него отсчитывайте следующую команду. Так последовательность не смешивается с одним общим поворотом.

Заменяют поворот на 270° поворотом на 90° в ту же сторону. Числа кажутся близкими, но это разные части полного оборота: 270° — три четверти, а 90° — одна четверть. Чтобы проверить результат, представьте четыре направления по кругу. Поворот на 270° в одну сторону равносилен повороту на 90° в противоположную.

Связь с другими темами

До изучения поворотов полезно знать, что такое команда исполнителя и направление движения, а также уметь читать координатную сетку. Эти знания позволяют описывать, куда направлен исполнитель и как движение изменяет его положение. Ещё понадобится понимание последовательного выполнения алгоритма: команды выполняются одна за другой, а не одновременно.

Повороты пригодятся при составлении алгоритмов движения робота и при построении фигур. Если один и тот же участок пути повторяется, команды можно оформить циклом, чтобы не записывать одинаковый блок много раз. Так повороты связывают геометрические маршруты с программированием и управлением исполнителями.

Что запомнить

  • Поворот меняет направление, но не положение исполнителя.
  • Для описания поворота нужно указать сторону и угол.
  • Поворот направо и поворот налево отсчитываются относительно исполнителя.
  • После каждого поворота новое направление становится исходным для следующей команды.
  • Поворот на 180° разворачивает исполнителя в противоположную сторону.
  • Повторяющиеся повороты удобно оформлять с помощью цикла.

Частые вопросы по теме

Относительно кого определять, где лево и где право?

Лево и право определяют относительно самого исполнителя, как если бы он смотрел вперёд в своём текущем направлении. Если исполнитель направлен на север, поворот налево приведёт его к западу, а направо — к востоку. Положение наблюдателя на это не влияет.

Меняется ли координата исполнителя во время поворота?

Нет, при повороте исполнитель остаётся на том же месте: меняется только направление, куда он смотрит или движется. Координаты изменятся, когда он выполнит команду движения.

Как быстро определить направление после нескольких поворотов?

Выполняйте команды по очереди и после каждой записывайте новое направление. Для поворотов на 90° удобно считать шаги по кругу: север, восток, юг, запад. Поворот на 180° меняет направление на противоположное.

Чем поворот на 270° отличается от поворота на 90°?

Угол 270° — это три четверти полного оборота, а 90° — одна четверть. Поэтому поворот на 270° в одну сторону даёт тот же результат, что поворот на 90° в противоположную сторону. Например, налево на 270° равносильно направо на 90°.

Как записать повороты, если исполнитель должен нарисовать квадрат?

Нужно четыре раза пройти одну сторону квадрата и после каждого отрезка повернуть на 90° в одну сторону. Например: повторить 4 раза команды «пройти сторону» и «повернуть направо на 90°». Так исполнитель вернётся к начальной точке и направлению.

Спросить по теме параграфа

19. Куда повернуться?

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.