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