|
|
>>> Перейти на мобильный размер сайта >>> Учебник для 7 класса Информатика и ИКТ§ 3.2. Управление исполнителем ЧертежникЗнакомимся с ЧертежникомИсполнитель Чертежник предназначен для построения рисунков на координатной плоскости. При задании точек этой координатной плоскости, в отличие от того, как это принято в математике, координаты х и у разделяются запятой. Например, координаты выделенной на рис. 3.1 точки будут записаны так: (1, 1).
Рис. 3.1 Чертежник имеет перо, которое можно поднимать, опускать и перемещать. При перемещении опущенного пера за ним остается след — отрезок от предыдущего положения пера до нового. При перемещении поднятого пера никакого следа на плоскости не остается. В начальном положении перо Чертежника всегда поднято и находится в точке (0, 0). По команде подними перо Чертежник поднимает перо. Если перо уже было поднято, Чертежник игнорирует эту команду: он не меняет положение пера и не сообщает об отказе. Иначе говоря, каким бы ни было положение пера до команды подними перо, после этой команды оно будет поднятым. Точно так же, независимо от первоначального положения, после выполнения команды опусти перо оно оказывается опущенным, то есть готовым к рисованию. Рисунки Чертежник выполняет с помощью команд переведи в точку и сдвинь на вектор. По команде переведи в точку (а, b) Чертежник сдвигается в точку с координатами (а, b). На рис. 3.2 показаны результаты выполнения команды переведи в точку (2, 3) при различных положениях пера до этой команды. Видно, что независимо от предыдущего положения перо оказывается в точке (2, 3), но длина и направление отрезка, который при этом чертится, могут быть различны. Команду переведи в точку называют командой абсолютного смещения.
Рис. 3.2
Пусть перо Чертежника находится в точке (х, y). По команде сдвинь на вектор (а, b) Чертежник отсчитывает а единиц вправо вдоль горизонтальной оси (оси абсцисс), Ь единиц вверх вдоль вертикальной оси (оси ординат) и сдвигает перо в точку с координатами (х - а; у + b). Таким образом, координаты, указанные в команде, отсчитываются не от начала координат, а относительно текущего положения пера Чертежника. Поэтому команду сдвинь на вектор называют командой относительного смещения. На рис. 3.3 показаны результаты выполнения команды сдвинь на вектор (2, 3) при различных положениях пера до этой команды. Из рисунка видно, что положение пера после этой команды зависит от его предыдущего положения, зато в результате получаются отрезки, длина и направление которых одинаковы. В математике направленные отрезки называются векторами, отсюда и происходит название команды.
Рис. 3.3 Назовите координаты точек, в которых находилось перо Чертежника до выполнения команды сдвинь на вектор (2, 3) и куда оно переместилось после выполнения этой команды.
б) b < 0; в) а < 0 и b < 0? Чертежник может исполнять только правильно записанные команды. Например, если вместо команды сдвинь на вектор написать здвинь на вектор, то Чертежник эту запись не поймет и сразу же сообщит об ошибке. Ошибки в записи команд называются синтаксическими. Алгоритм может содержать логические ошибки. Например, все команды записаны правильно, но последовательность их выполнения не приводит к поставленной цели или выполнение некоторых команд приводит к отказу. Пример алгоритма управления ЧертежникомИзобразим с помощью Чертежника треугольник, положение вершин которого на координатной плоскости определяется парами чисел (1, 1), (3, 5), (5, 2) (рис. 3.4).
Рис. 3.4 Так как в начале работы перо Чертежника всегда поднято, то для рисования треугольника с заданными координатами достаточно выполнить следующую последовательность команд:
опусти перо переведи в точку (3, 5) переведи в точку (5, 2) переведи в точку (1, 1) А теперь составим такой алгоритм управления Чертежником, чтобы с его помощью в произвольном месте координатной плоскости можно было нарисовать прямоугольник со сторонами, параллельными координатным осям, длины которых равны 2 и 4 единицам. Зафиксируем одну из вершин прямоугольника в точке (1, 1). Нужный рисунок на координатной плоскости может выглядеть, как показано на рис. 3.5.
Рис. 3.5
Можно определить координаты каждой из вершин этого прямоугольника и для его изображения составить следующую программу:
опусти перо переведи в точку (1, 3) переведи в точку (5, 3) переведи в точку (5, 1) переведи в точку (1, 1) Этот алгоритм не будет решать поставленную задачу, если изменить координаты начальной точки (рис. 3.6). Изменение координат одной из вершин повлечет за собой пересчет координат всех вершин прямоугольника. Причем это придется делать самому разработчику алгоритма.
Рис. 3.6 Воспользуемся для рисования заданного прямоугольника командой относительного смещения. Пусть (х, у) — координаты вершины А прямоугольника ABCD (рис. 3.7).
Рис. 3.7 Тогда координаты вершины В можно записать как (х, у + 2), вершины С — как (х + 4, у + 2), вершины D — как (х + 4, у) (рис. 3.8).
Рис. 3.8 Чтобы изобразить отрезок АВ, воспользуемся командой сдвинь на вектор (0, 2). В результате Чертежник сдвинет перо из точки с координатами (х, у) в точку с координатами (х + 0, у + 2). По команде сдвинь на вектор (4, 0) перо окажется в точке (х + 4, у + 2). Чтобы из этой точки перейти в точку (х + 4, у + 0), следует выполнить команду сдвинь на вектор (0, -2). По команде сдвинь на вектор (-4, 0) перо Чертежника прочертит отрезок к точке А:
Если в качестве вершины А зафиксировать точку с координатами (1, 1), то программа будет выглядеть так:
опусти перо сдвинь на вектор(0, 2) сдвинь на вектор(4, 0) сдвинь на вектор(0, -2) сдвинь на вектор(-4, 0) Для того чтобы нарисовать прямоугольник в другом месте координатной плоскости, например в точке с координатами (5, 5), достаточно изменить в этой программе только первую строку:
С помощью команды абсолютного смещения рисунок «привязывается» к строго определенным точкам координатной плоскости. Она используется чаще всего для установки начального положения пера Чертежника. Команды относительного смещения применяются для создания рисунков, у которых точное место не важно или которые нужно воспроизводить в разных местах. Чертежник учится, или Использование
|
|
Узнать стоимость написания
|