"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Черепаха — графический исполнитель, который перемещается по экрану и может оставлять за собой линию. Рисунок для неё задают командами: куда двигаться, на какой угол повернуть и поднято ли перо. Поэтому результат зависит не только от самих команд, но и от текущего положения и направления исполнителя. Повторяющиеся действия удобно записывать циклом, а геометрические свойства фигур помогают заранее рассчитать нужные повороты.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Графический исполнитель — программа или устройство, которое выполняет команды для создания изображения. В этой теме таким исполнителем выступает черепаха: она перемещается по экрану и может рисовать линии. Это удобно для описания рисунка не по пикселям, а как алгоритма действий.
Черепаха — условный исполнитель, у которого есть положение на плоскости и направление движения. Команда перемещения начинает действовать из текущего положения, а направление определяет, куда пойдёт линия. Поэтому для предсказания результата нужно следить за состоянием черепахи после каждой команды.
Перо — условный инструмент черепахи, состояние которого определяет, рисуется ли линия при движении. Если перо опущено, перемещение оставляет след; если поднято, черепаха движется без линии. Управление пером нужно, чтобы строить отдельные части изображения, не соединяя их лишними отрезками.
Графические команды — инструкции, задающие перемещение, поворот или действия с пером и параметрами линии. Из таких команд складывается последовательность, которую исполнитель выполняет по порядку. Она нужна, чтобы точно описать способ построения рисунка и при необходимости повторить его.
Рисунок строится последовательным выполнением команд, потому что черепаха не получает готовое изображение, а меняет своё состояние шаг за шагом. После перемещения её положение становится новой отправной точкой, а поворот меняет направление дальнейшего движения. Поэтому одну и ту же команду перемещения можно выполнить из разных мест и получить разные линии. Чтобы понять итог, мысленно проследите команды по порядку, каждый раз отмечая новое положение и направление.
Команда движения задаёт, на какое расстояние черепаха переместится, а команда поворота — насколько изменится её курс. Сочетание этих действий позволяет задавать стороны и углы контура. У замкнутых фигур действия часто повторяются: после каждого отрезка черепаха поворачивает и строит следующий. Именно повторяемость делает возможным короткое описание фигуры вместо перечисления каждой стороны отдельно.
Подъём пера нужен, когда черепаху требуется перенести в другую часть рисунка, не соединяя контуры. При поднятом пере её положение меняется, но линия не появляется; после опускания след снова остаётся. Так можно построить несколько отдельных фигур одним исполнителем. Если забыть изменить состояние пера, переход тоже станет частью рисунка.
Цикл — команда повторения, которая позволяет записать одинаковую последовательность действий один раз и указать, сколько раз её выполнить. Например, для многоугольника в цикле повторяют движение вдоль стороны и поворот. Это сокращает алгоритм и помогает избежать случайных различий между сторонами. Число повторений выбирают по числу сторон, а величину поворота рассчитывают заранее.
Даже похожие алгоритмы могут давать разные изображения, если изменить начальное положение или направление черепахи. На вид результата влияют также длина шага и угол поворота: длина определяет размеры отрезков, а поворот — форму контура. Изменение этих параметров позволяет получить другой размер или ориентацию фигуры без полной перестройки алгоритма. Поэтому при поиске причины неожиданного результата проверяют не только команды, но и исходные настройки.
| Действие | Что задаёт | Как влияет на рисунок |
|---|---|---|
| Перемещение вперёд или назад | Направление и длину перемещения | Создаёт отрезок, если перо опущено |
| Поворот | Изменение направления движения | Задаёт угол между соседними отрезками |
| Поднять или опустить перо | Состояние пера | Позволяет рисовать линию или перемещаться без неё |
| Изменить цвет или толщину линии | Внешний вид следа | Меняет цвет или ширину нарисованных линий |
| Перейти в заданную точку | Новое положение на плоскости | Переносит исполнителя к нужному месту |
Используйте таблицу, чтобы определить, какая команда отвечает за нужное изменение рисунка. Сначала выберите действие, затем уточните его параметр: например, длину перемещения или угол поворота. Перед командами перехода проверьте состояние пера, чтобы случайно не соединить отдельные части.
Условие. Составить алгоритм движения черепахи по квадрату со стороной длины a. Нужно построить четыре равных отрезка и вернуться в исходную точку. Направление можно выбрать произвольно, если после каждого шага соблюдать одинаковое правило поворота.
Ответ. Четыре раза выполнить: переместиться вперёд на a, повернуть на 90°. Перо должно быть опущено, чтобы стороны квадрата были видны.
Условие. Построить правильный шестиугольник и определить поворот после каждой стороны. У правильной фигуры все стороны и внутренние углы равны, но для движения черепахи нужен не внутренний угол. Требуется найти изменение направления при переходе к следующей стороне.
Ответ. В цикле шесть раз пройти длину стороны и повернуть на 60°. Такой внешний угол строит правильный шестиугольник.
Условие. Нарисовать составную фигуру из двух контуров, между которыми нет соединительной линии. Для каждого контура задан свой набор перемещений и поворотов. Нужно перейти от первого контура ко второму так, чтобы на изображении остались только нужные линии.
Ответ. Между контурами перо поднимают, для построения контура опускают. Так перемещение к новому месту не создаёт лишней линии.
Путают внешний угол с внутренним. Внутренний угол — угол внутри многоугольника, а поворот черепахи при обходе задаётся изменением её направления. Ошибка возникает, если взять привычный внутренний угол вместо нужного поворота. Проверьте вычисление делением 360° на число сторон: это внешний угол правильного многоугольника.
Не учитывают начальное направление. Тогда фигура получается повёрнутой или первый отрезок идёт не туда, куда ожидалось. Такое бывает, потому что внимание сосредоточено на командах, а исходное состояние исполнителя забывают проверить. Перед запуском отметьте, где находится черепаха и куда она смотрит, затем проследите первый шаг.
Забывают поднять перо при переходе между частями рисунка. Из-за этого между контурами появляется соединительный отрезок. Обычно причина в том, что перемещение к новому месту принимают за обычный шаг построения. Проверьте команды между контурами: сначала должно быть поднятие пера, а перед новым контуром — его опускание.
Неверно задают число повторений или длину шага. Тогда стороны могут оказаться разной длины, а контур — не замкнуться. Ошибка возникает при неправильном подсчёте сторон или при несовпадении параметров в повторяющихся командах. Сверьте число повторений с числом сторон, длину каждого шага и сумму поворотов: для замкнутого правильного многоугольника она должна составлять 360°.
Для работы с черепахой нужны навыки составления алгоритмов, понимание последовательного выполнения команд и умение использовать циклы. Построение фигур опирается на геометрию: свойства многоугольников, углы и координаты на плоскости помогают рассчитать действия исполнителя. Эти приёмы пригодятся при изучении компьютерной графики, где изображение тоже можно создавать алгоритмически. Умение описывать рисунок командами связывает программирование с геометрическим моделированием.
Почему черепаха рисует не там, где я ожидал?
Проверьте начальные координаты и направление черепахи: от них зависит место и направление первого отрезка. Также убедитесь, что предыдущие команды не изменили её положение или курс.
Как рассчитать угол поворота для правильного многоугольника?
Разделите полный оборот, 360°, на число сторон. Получится внешний угол, на который черепаха поворачивает после каждой стороны.
Как переместить черепаху, не оставляя линию?
Перед перемещением поднимите перо. Переместите черепаху в нужное место, а для продолжения рисунка опустите перо.
Почему в рисунке появляется лишний отрезок?
Обычно перо осталось опущенным во время перехода к другой части рисунка. Поднимите его перед таким перемещением и опустите только у начала нового контура.
Когда построение рисунка лучше записать с помощью цикла?
Цикл удобен, когда одно и то же действие или набор действий нужно выполнить несколько раз. Например, все стороны правильного многоугольника строятся одинаково, а после каждой стороны повторяется одинаковый поворот.
§ 27. Рисунки