Исполнитель Чертёжник: основы программирования графики
Чертёжник — это учебный исполнитель в среде программирования (часто используется в Кумир или аналогичных платформах), предназначенный для отработки навыков работы с циклами, процедурами и координатной плоскостью. Главная задача ученика — составить алгоритм, который заставит Чертёжника нарисовать заданную фигуру, используя команды смещения (сместиться) и управления пером (опустить, поднять). В отличие от «Черепашки», Чертёжник оперирует абсолютными и относительными координатами на плоскости.
Основные команды исполнителя
В стандартной среде «Чертёжник» управление происходит через изменение координат $(x, y)$. Начало координат $(0, 0)$ обычно находится в левом нижнем углу или центре поля (зависит от настроек конкретной версии ПО).
Управление пером
Перо определяет, оставляет ли Чертёжник след при движении.
| Команда | Описание |
|---|---|
опустить перо | Начинает рисовать линию при движении. |
поднять перо | Перемещается без рисования линии. |
Перемещение
Существует два типа команд перемещения: абсолютные и относительные.
- Абсолютное перемещение:
сместиться в точку (x, y)— Чертёжник переходит в конкретную точку координатной плоскости.
- Относительное перемещение (наиболее часто используется в задачах 8 класса):
сместиться на вектор (a, b)— Смещает Чертёжника на $a$ единиц по горизонтали (вправо, если $a > 0$, влево, если $a < 0$) и на $b$ единиц по вертикали (вверх, если $b > 0$, вниз, если $b < 0$).
Для рисования замкнутых фигур удобнее использовать команду сместиться на вектор, так как она позволяет строить фигуру шаг за шагом, не вычисляя каждый раз абсолютные координаты вершин.
Дополнительные настройки
установить цвет ("цвет")— меняет цвет линии (например, "красный", "синий").установить толщину (n)— задаёт ширину линии в пикселях или условных единицах.
Алгоритм построения геометрических фигур
Ключ к решению задач с Чертёжником — понимание геометрии и использование циклов.
Квадрат и прямоугольник
Чтобы нарисовать квадрат со стороной $S$, нужно выполнить 4 раза последовательность: движение вперед на $S$ и поворот на 90 градусов. Однако в среде Чертёжник нет команды «поворот». Вместо этого мы меняем направление вектора смещения.
Пример алгоритма для квадрата со стороной 40:
- Опустить перо.
- Сместиться на вектор $(40, 0)$ — вправо.
- Сместиться на вектор $(0, 40)$ — вверх.
- Сместиться на вектор $(-40, 0)$ — влево.
- Сместиться на вектор $(0, -40)$ — вниз.
В коде с использованием цикла нц ... кц (начало цикла — конец цикла):
опустить перо
нц 4 раз
сместиться на вектор (40, 0)
сместиться на вектор (0, 40)
сместиться на вектор (-40, 0)
сместиться на вектор (0, -40)
кц
Примечание: Данный пример некорректен для одного цикла, так как векторы разные. Правильный подход для цикла — использование поворота системы координат (если поддерживается) или ручное прописывание 4 шагов. Чаще в 8 классе используют цикл для повторяющихся элементов узора, а не для самого квадрата, если нет команды повернуть.
Более корректный пример для исполнителя с командой повернуть (если среда гибридная) или использование 4 отдельных команд смещения. Если доступна только команда сместиться на вектор, цикл применяется для серий одинаковых действий.
Правильные многоугольники
Если в среде есть команда повернуть на угол, задача упрощается. Угол поворота рассчитывается по формуле:
$$ \alpha = \frac{360^\circ}{N} $$
где $N$ — количество сторон.
- Треугольник: $360 / 3 = 120^\circ$ (внешний угол).
- Пятиугольник: $360 / 5 = 72^\circ$.
- Шестиугольник: $360 / 6 = 60^\circ$.
Типовые задания и решения
Задание 1. Рисование лестницы
Условие: Нарисовать лестницу из 5 ступенек. Высота и ширина каждой ступеньки — 20 единиц. Начальная точка — $(0,0)$.
Решение: Каждая ступенька состоит из двух движений: вверх и вправо. Это действие повторяется 5 раз.
опустить перо
нц 5 раз
сместиться на вектор (0, 20) // вверх
сместиться на вектор (20, 0) // вправо
кц
Задание 2. Рисунок «Забор»
Условие: Нарисовать забор из 10 досок. Каждая доска — прямоугольник шириной 10 и высотой 40. Расстояние между досками — 5 единиц.
Алгоритм:
- Цикл 10 раз.
- Внутри цикла: рисование прямоугольника (вверх, вправо, вниз, влево) или использование готовой процедуры.
- После рисования доски — смещение вправо на расстояние до следующей доски.
опустить перо
нц 10 раз
// Рисуем доску
сместиться на вектор (0, 40)
сместиться на вектор (10, 0)
сместиться на вектор (0, -40)
сместиться на вектор (-10, 0)
// Переход к следующей доске
поднять перо
сместиться на вектор (15, 0) // 10 ширина + 5 зазор
опустить перо
кц
Частая ошибка: забыть команду поднять перо перед переходом к новому элементу, если он не соединен линией с предыдущим. Это приведет к появлению лишних линий («паутины») на рисунке.
Задание 3. Использование процедур
Условие: Нарисовать три квадрата разного цвета, расположенных в ряд.
Решение: Оформим рисование квадрата как процедуру.
алг квадрат(арг цел сторона, арг лит цвет)
нач
установить цвет(цвет)
опустить перо
нц 4 раз
сместиться на вектор(сторона, 0)
повернуть на угол 90 // Если команда доступна
кц
поднять перо
кон
алг главная
нач
сместиться в точку (10, 10)
квадрат(40, "красный")
сместиться на вектор (60, 0)
квадрат(40, "зеленый")
сместиться на вектор (60, 0)
квадрат(40, "синий")
кон
Частые ошибки учащихся
- Неверный расчет вектора. Ученики путают направление осей. Помните: $X$ растет вправо, $Y$ растет вверх (в большинстве школьных сред).
- Игнорирование состояния пера. Если перо было поднято, команда смещения не оставит следа. Если опущено — оставит. Нужно явно управлять этим состоянием.
- Ошибка в цикле. Неправильное количество повторений. Например, для шестиугольника нужно 6 повторений, а не 5.
- Смещение начала координат. Если задача требует нарисовать фигуру в центре, а старт идет из $(0,0)$, нужно сначала выполнить команду
сместиться в точку (x_центра, y_центра)или рассчитать векторы относительно старта.
FAQ
В чем разница между «сместиться в точку» и «сместиться на вектор»?
Сместиться в точку переносит исполнителя в абсолютные координаты $(x, y)$ независимо от того, где он был. Сместиться на вектор сдвигает исполнителя относительно его текущего положения на указанное расстояние по осям.
Как нарисовать круг в Чертёжнике? В базовой версии Чертёжника нет команды «круг». Круг аппроксимируется правильным многоугольником с большим количеством сторон (например, 36-угольник, где угол поворота 10 градусов). Чем больше сторон, тем плавнее кажется круг.
Можно ли использовать вложенные циклы? Да, вложенные циклы необходимы для создания сложных орнаментов, например, когда нужно нарисовать ряд из нескольких фигур, а каждая фигура состоит из повторяющихся элементов.
Заключение
Работа со средой «Чертёжник» в 8 классе формирует фундаментальное понимание декартовой системы координат и линейных алгоритмов. Успешное выполнение заданий требует внимательности к деталям: правильному выбору типа смещения, управлению состоянием пера и точному расчету углов и длин отрезков. Освоение этих навыков является подготовкой к изучению более сложных графических библиотек в старших классах.