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