Как сделать звезду в кумире
1. Разбор заданий Исполнители Робот и Чертежник в среде программирования Кумир (ФИПИ 9 класс)
2. Команды исполнителя Робот
Исполнитель Робот умеет перемещаться на плоскости
(вверх, вниз, вправо, влево), разбитой на клетки,
закрашивая их (закрасить). Между соседними
клетками может стоять стена, через которую Робот
пройти не может. Если Робот получит команду
продвижения сквозь стену, то он разрушится.
Робот имеет команды проверки условия
сверху свободно
снизу свободно
слева свободно
справа свободно
Если количество повторений известно, то
используется цикл
нц n раз
последовательность команд
Кц
Если количество повторений неизвестно,
то используется цикл пока
нц пока условие
последовательность команд
кц
4. №039900
6. Задание №000F99
8. Задание №0112ЕА
10. №0AD780
12. №0D909E
На бесконечном поле имеются две одинаковые
вертикальные стены и одна горизонтальная,
соединяющая верхние концы стен. Длины стен
неизвестны. Робот находится в одной из клеток,
расположенных между нижними
краями вертикальных стен.
Напишите для Робота алгоритм, закрашивающий все
клетки, расположенные выше горизонтальной стены
непосредственно над ней. Робот должен закрасить
только клетки, удовлетворяющие данному условию.
Например, для приведённого выше рисунка Робот
должен закрасить следующие клетки
Конечное расположение Робота может быть произвольным. Алгоритм должен
решать задачу для произвольного размера поля и любого допустимого
расположения стен внутри прямоугольного поля. При исполнении алгоритма
Робот не должен разрушиться, выполнение алгоритма должно завершиться.
14. №0F1AB2
16. №0F8EB4
На бесконечном поле имеется вертикальная стена. Длина
стены неизвестна. От верхнего конца стены вправо отходит
горизонтальная стена также неизвестной длины. От
правого конца этой стены отходит вниз вторая вертикальная
стена неизвестной длины. Робот находится в клетке,
расположенной справа от нижнего края первой вертикальной
стены.
Напишите для Робота алгоритм, закрашивающий клетки,
расположенные правее первой вертикальной стены, и
угловую
клетку,
расположенную
на
пересечении
горизонтальной и второй вертикальной стены. Робот должен
закрасить только клетки, удовлетворяющие данному
условию. Например, для приведённого выше рисунка Робот
должен закрасить следующие клетки (см. рисунок):
Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для произвольного размера поля
и любого допустимого расположения стен внутри прямоугольного
поля. При исполнении алгоритма Робот не должен разрушиться.
18. №126CDE
20. №197DE3
На бесконечном поле имеется стена,
состоящая из 5 последовательных отрезков,
расположенных змейкой: вправо, вниз, влево,
вниз, вправо, все отрезки неизвестной
длины.
Робот
находится
в
клетке,
расположенной снизу от левого края первой
горизонтальной стены.
Напишите
для
Робота
алгоритм,
закрашивающий все клетки, расположенные
ниже первого и левее второго отрезков стены
и левее четвертого и ниже пятого отрезков
стены и угловой клетки. Робот должен
закрасить только клетки, удовлетворяющие
данному условию.
Конечное расположение Робота может быть
произвольным. Алгоритм должен решать
задачу для произвольного размера поля и
любого допустимого расположения стен
внутри прямоугольного поля. При исполнении
алгоритма Робот не должен разрушиться.
22. №1АА9FC
На бесконечном поле есть горизонтальная и
вертикальная стены. Правый конец горизонтальной
стены соединён с верхним концом вертикальной стены.
Длины стен неизвестны. В каждой стене есть ровно
один проход, точное место прохода и его ширина
неизвестны. Робот находится в клетке, расположенной
непосредственно под горизонтальной стеной у её
левого конца.
Напишите для Робота алгоритм, закрашивающий все
клетки,
расположенные
непосредственно
ниже
горизонтальной стены и левее вертикальной стены.
Проходы должны остаться незакрашенными. Робот
должен закрасить только клетки, удовлетворяющие
данному условию. Например, для приведённого выше
рисунка Робот должен закрасить следующие клетки
(см. рисунок).
При исполнении алгоритма Робот не должен
разрушиться,
выполнение
алгоритма
должно
завершиться. Конечное расположение Робота может
быть произвольным.
24. Исполнитель Чертёжник
Исполнитель Чертёжник предназначен для построения рисунков на
координатной плоскости.
Команды исполнителя
опустить перо
поднять перо
cместиться в точку (х, y)
сместиться на вектор (±x,±y)
установить цвет(наименование цвета)
Чертежник умеет рисовать девятью цветами. Эти цвета: ”черный”,
”белый”, ”красный”, ”оранжевый”, ”желтый”, ”зеленый”, ”голубой”,
”синий”, фиолетовый”. Никаких других цветов, кроме девяти
указанных, в Чертежнике нет, никаких смешиваний цветов сделать
нельзя.
25. №1EA3B5
Исполнитель Чертёжник
перемещается на координатной
плоскости, оставляя след в виде
линии.
Какую команду надо выполнить
Чертёжнику, чтобы вернуться в
исходную точку, из которой он начал
движение?
Чертёжнику был дан для исполнения
следующий алгоритм:
Повтори 2 раз
Сместиться на (–3, –4) Сместиться на
(3, 3) Сместиться на (2, –2)
Конец
1)Сместиться
2)Сместиться
3)Сместиться
4)Сместиться
на (4, –6)
на (–6, 4)
на (6, –4)
на (–4, 6)
Решение
Так как даны относительные
координаты точек, то
выполним следующие
вычисления. Пусть начало
движения чертежника
совпадает с началом
координат точкой (0, 0)
Вычислим насколько
изменится значение по оси Х
2*(-3+3+2)=4
По оси ординат
2*(-4+3-2)=-6
Чтобы вернуться в исходную
точку надо выполнить команду
сместиться на (-4, 6)
Чертёжнику был дан для исполнения
следующий алгоритм:
Повтори 3 раз
Сместиться на (–1, –3)
Сместиться на (2, 5)
конец
Сместиться на (0, –5)
Какую команду надо выполнить
Чертёжнику, чтобы вернуться в
исходную точку, из которой он начал
движение?
1)Сместиться на (–1, –3)
2)Сместиться на (–3, –1)
3)Сместиться на (1, 3)
4)Сместиться на (3, 1)
Решение
Так как даны относительные координаты
точек, то выполним следующие
вычисления. Пусть начало движения
чертежника совпадает с началом
координат точкой (0, 0)
Вычислим насколько изменится
значение по оси Х
3*(-1+2)+0=3
По оси ординат
3*(-3+5)+(-5)=1
Чтобы вернуться в исходную точку надо
выполнить команду
сместиться на (-3, -1)
Чертежник действует на координатной плоскости и предназначен для построения рисунков, чертежей и графиков.
Команды управления Чертежником - поднять перо, опустить перо, сместиться в точку (арг вещ х,у), сместиться на вектор (арг вещ х,у), установить цвет (лит наименование цвета), надпись (вещ ширина_знакоместа, лит текст).
В команде сместиться в точку в качестве (х,у) выступают абсолютные значения координат, а сместиться на вектор - значения приращений по соответствующим осям.
При перемещении опущенного пера за ним остается след - отрезок от старого положения пера до нового, а при перемещении с поднятым пером следа не остается).
Команда установить цвет задает цвет пера: ”черный”, ”белый”, ”красный”, ”оранжевый”, ”желтый”, ”зеленый”, ”голубой”, ”синий”, ”фиолетовый”. По умолчанию используется черный цвет. Названия цветов пишутся в кавычках.
Исполнитель Чертежник предназначен для построения рисунков на координатной плоскости. Чертежник имеет перо, которое можно подымать, опускать и перемещать.
При перемещении опущенного пера за ним остается след – отрезок от предыдущего положения до нового. При перемещении поднятого пера никакого следа не остается. В начальном положении перо Чертежника всегда поднято и находится в точке (0, 0).
- опустить перо
- поднять перо
- сместиться в точку (X, Y)
- сместиться на вектор (dX, dY)
- установить цвет (цвет)
- надпись (ширина, текст)
Задача: Составим алгоритм рисования квадрата. После рисования вернем Чертежника в исходную позицию.
Прежде чем Чертежник начнет рисовать (опустит перо) нужно сместится к место рисования. После рисования нужно снова поднять перо и перейти в начало координат (так требуется по условию).
Рисовать будем с нижней левой точки по часовой стрелке.
Пример 1. | Пример 2. |
использовать Чертежник алг квадрат1 нач . сместиться в точку (2,1) . опустить перо . сместиться в точку (2,4) . сместиться в точку (5,4) . сместиться в точку (5,1) . сместиться в точку (2,1) . поднять перо . сместиться в точку (0,0) кон | использовать Чертежник алг квадрат2 нач . сместиться на вектор (2,1) . опустить перо . сместиться на вектор (0,3) . сместиться на вектор (3,0) . сместиться на вектор (0,-3) . сместиться на вектор (-3,0) . поднять перо . сместиться на вектор (-2,-1) кон |
Обычно в программах используют эти две команды одновременно, все зависит от условий задачи и предпочтения составителя алгоритма. Например, можно записать алгоритма так:
использовать Чертежник
алг квадрат3
нач
. сместиться в точку (2,1)
. опустить перо
. сместиться на вектор (0,3)
. сместиться на вектор (3,0)
. сместиться на вектор (0,-3)
. сместиться на вектор (-3,0)
. поднять перо
. сместиться в точку (0,0)
кон
Обратите внимание - исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют. Такой алгоритм называется линейным.
Задание: Составьте подобным образом алгоритмы рисования прямоугольника.
использовать Чертежник алг нач . сместиться на вектор (- 1 , 1 ) . опустить перо . установить цвет (" красный " ) . сместиться на вектор (1 , 2 ) . установить цвет (" оранжевый " ) . сместиться на вектор (1 ,- 2 ) . установить цвет (" желтый " ) . сместиться на вектор (2 ,- 1 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . поднять перо . сместиться на вектор (0 ,- 1 ) кон
© Использован шаблон дизайна презентации Пак Марины Алексеевны, г.Владивосток
Среда программирования КУМИР
Практическое задание
Составить программу Чертежника, выводящую на чертеж цифры почтового индекса
© Использован шаблон дизайна презентации Пак Марины Алексеевны, г.Владивосток
Исполнитель Чертежник предназначен для построения рисунков на координатной плоскости
Среда исполнителя Чертёжник – координатная плоскость
Чертежник имеет перо, которое можно подымать, опускать и перемещать.
При перемещении опущенного пера за ним остается след – отрезок от предыдущего положения до нового. При перемещении поднятого пера никакого следа не остается. В начальном положении перо Чертежника всегда поднято и находится в точке (0, 0).
опустить перо
поднять перо
сместиться в точку (X, Y)
сместиться на вектор (dX, dY)
установить цвет (цвет)
надпись (ширина, текст)
использовать Чертежник алг квадрат2 нач . сместиться на вектор(2,1) . опустить перо . сместиться на вектор(0,3) . сместиться на вектор(3,0) . сместиться на вектор(0,-3) . сместиться на вектор(-3,0) . поднять перо . сместиться на вектор(-2,-1) кон
использовать Чертежник алг квадрат1 нач . сместиться в точку(2,1) . опустить перо . сместиться в точку(2,4) . сместиться в точку(5,4) . сместиться в точку(5,1) . сместиться в точку(2,1) . поднять перо . сместиться в точку(0,0) кон
Использовать Чертёжник
сместиться в точку (1,1)
сместиться в точку (1,5)
сместиться в точку (3,5)
сместиться в точку (2,4)
сместиться в точку (3,3)
сместиться в точку (1,3)
сместиться в точку (2,4)
сместиться на вектор (-1,0)
сместиться на вектор (3,3)
сместиться на вектор (3,-3)
сместиться на вектор (-5,0)
сместиться на вектор (0,-3)
сместиться на вектор (4,0)
сместиться на вектор (0,3)
Составьте для Чертёжника алгоритм рисования следующего изображения:
Что будет нарисовано после выполнения Чертёжником алгоритма?
сместиться в точку (5,4)
сместиться на вектор (1,1)
сместиться в точку (6,1)
сместиться на вектор (-1,1)
сместиться на вектор (-3,0)
сместиться в точку (1,1)
сместиться на вектор (4,0)
сместиться на вектор (-1,-1)
сместиться на вектор (3,0)
Составьте алгоритм управления Чертёжником, в результате выполнения которого на координатной плоскости будет нарисован квадрат, длина стороны которого равна 2 единицам.
Составьте алгоритм управления Чертёжником, в результате выполнения которого на координатной плоскости будет нарисован прямоугольник, длины сторон которого равны 3 и 4 единицам.
Составьте алгоритмы рисования изображённых ниже фигур так, чтобы в процессе рисования перо не отрывалось от бумаги и ни одна линия не проводилась дважды.
сместиться на точку
Что будет нарисовано после выполнения Чертёжником алгоритма:
сместиться в точку (1,1)
сместиться в точку (1,2)
сместиться в точку (5,2)
сместиться в точку (5,1)
сместиться в точку (4,2)
сместиться в точку (4,5)
сместиться в точку (3,5)
сместиться в точку (2,4)
сместиться в точку (2,2)
Исполнитель Рисователь предназначен для построения рисунков
Рисователь умеет :
- проводить линии различной толщины (отрезки, прямые, эллипсы, прямоугольники)
- закрашивать области листа, ограниченные проведенными линиями
- писать текстовые надписи, используя различные шрифты
- алг перо (цел толщина, лит цвет) устанавливает толщину и цвет контура. (по умолчанию: толщина=1, цвет - чёрный). Ошибки выполнения: отрицательная толщина, недопустимый цвет.
- алг кисть (лит цвет)устанавливает цвет заливки. (по умолчанию: цвет - белый). Ошибки выполнения: недопустимый цвет.
- алг в точку (цел х, у)перемещает перо в точку с координатами (x, y).
- алг линия в точку (цел х, у)проводит отрезок из текущей точки пера в точку (х,у)
- алг пиксель (цел х, у, лит цвет)устанавливает указанный цвет в указанном пикселе
- алг линия (цел х1, у1, х2, у2)проводит прямую линию между указанными точками.
- алг прямоугольник (цел х1, у1, х2, у2) проводит контур прямоугольника в соответствии с состоянием пера и закрашивает внутренность в соответствии с состоянием кисти.
- алг эллипс (цел х1, у1, х2, у2) проводит контур эллипса вписанного в прямоугольник (цел х1, у1, х2, у2) в соответствии с состоянием пера и закрашивает внутренность в соответствии с состоянием кисти.
- алг окружность (цел хс, ус, r)проводит окружность с центром (хс, ус) и радиусом r в соответствии с состоянием кисти.
- алг надпись (цел х, у, лит текст)выводит указанный текст в соответствии с параметрами команд перо (цвет линии) и шрифт.
- алг залить (цел х, у) область точки – это связанное множество точек, которые имеют тот же цвет, что и данная точка и включает саму точку. Связность понимается только по вертикали и горизонтали. Команда меняет цвет всех точек в этой области в соответствии с состоянием кисти. Если координаты точки вне листа, то никаких действий не выполняется.
- Допустимые русские названия цветов:черный, чёрный, белый серый, фиолетовый, синий, голубой, зеленый, зелёный, желтый, жёлтый, оранжевый, красный.
Задания для тренировки
1) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:
2) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:
3) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:
4) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:
5) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 10. Система команд Кузнечика:
6) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 15. Система команд Кузнечика:
7) Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 20. Система команд Кузнечика:
За какое наименьшее количество команд можно перевести Кузнечика в точку (-4)?
9) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:
11) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:
12) Исполнитель Кузнечик живет на числовой оси. Начальное положение - точка 0. Система команд кузнечика:
МАРШРУТНЫЙ ЛИСТ УЧЕНИКА _________________________________________________ (Фамилия, имя, класс)
Слово (+) _________________
2 Тема. ______________________________________________________________________________
Что хочу узнать
Чему хочу научиться
3 Исполнители системы программирования Кумир:
4 Работа в парах с исполнителем Кузнечик:
2!, -3!, +5!, -3!, -4!, +1!, -2!, +4!, +3!. Слово ______________________________
5 Практическая работа:
Выполните данный алгоритм:
использовать Чертежник
алг
нач
. сместиться в точку (1 , 1 )
. опустить перо
. сместиться на вектор (4 , 0 )
. сместиться на вектор (0 , 4 )
. сместиться на вектор (-2 , 2 )
. сместиться на вектор (-2 , -2 )
. сместиться в точку (1 , 1 )
кон
К данному рисунку запишите алгоритм:
6 Домашнее задание:
Составьте алгоритм рисования следующей фигуры:
Система Кумир - позволяет создавать, отлаживать и выполнять программы на универсальном языке программирования Кумир.
Три исполнителя (Робот, Чертежник, Файлы) встроены в систему Кумир. Другие исполнители:
? могут быть представлены в текущей программе;
? могут быть заранее описаны на языке Кумир и сохранены в стандартном формате сохранения Кумир-программ (файлы с расширением.kum) - внешние исполнители;
? могут являться автономными дополнительными модулями Кумира (например, Черепаха, Водолей, Кузнечик) - сетевые исполнители.
Конспект открытого урока
по информатике и ИКТ
Тема: Среда программирования Кумир. Исполнитель Чертежник.
Учитель: Долгополова Т. В.
Цели: - познакомить обучающихся со средой программирования Кумир;
- познакомить с исполнителем среды Кумир Чертежником;
- научить составлять линейные алгоритмы для данного исполнителя;
Здравствуйте, ребята! Присаживайтесь.
II . Проверка пройденного материала:
Бесконечная последовательность шагов – это алгоритм? (-)
Алгоритм, в котором команды выполняются последовательно друг за другом – это циклический алгоритм? (-)
Исполнитель – это только человек? (-)
Алгоритм – это конечная последовательность, имеющая ожидаемый результат? (+)
Алгоритм, в котором некоторые команды повторяются – это алгоритм с ветвлениями? (-)
Компьютерная программа – это алгоритм? (+)
Машина не может быть исполнителем алгоритма? (-)
Овал в блок-схеме означает начало алгоритма? (+)
Алгоритм можно записать только схемой? (-)
Шаги в алгоритме должны быть записаны на понятном исполнителю языке? (+)
Человек может выполнить любой алгоритм? (-)
Для записи алгоритмов существует специальная среда? (+)
Ребята, какой вопрос у вас вызвал затруднение? Почему?
III . Работа по новой теме.
1) - А что такое Кумир? Вот об этом мы и поговорим сегодня на уроке.
Запишите тему нашего урока. (Слайд 2)
2) – Сейчас послушайте Кирилла, который немного расскажет вам о системе программирования Кумир. Может быть, на какие-нибудь вопросы вы уже ответите. (Кирилл рассказывает о системе программирования Кумир)
На какие вопросы вы теперь сможете ответить? (Отвечают)
Проверим. (Слайд 3)
Ребята, давайте немного отдохнем. Выполним следующие алгоритмы под энергичную музыку.
Итак, какие же команды умеет выполнять Чертежник? (Слайд 5)
Все ли они понятны вам?
IV . Практическая работа.
Сейчас вы выполните практическую работу. В своих маршрутных листах вы найдете задания для практической работы, которые вы выполните в среде исполнителя Чертежник. Но сначала повторим ТБ: - Чего нельзя делать при работе за компьютером? А что необходимо сделать?
Не забудьте нарисовать получившийся рисунок в первом задании и записать алгоритм для второго задания. (Начало работы под диктовку учителя)
V . Итог
VI . Домашнее задание.
§ 3.2 с. 120-123 чит., см. маршрутный лист.
VII . Оценки
Среда программирования Кумир. Исполнитель Чертежник.
СКИ: + прыгает вправо на указанное число единиц - прыгает влево на указанное число единиц ! Запоминает букву, над которой находится
Урок 30. Знакомство с исполнителем Чертежник
Ключевые слова:
• исполнитель Чертёжник
• абсолютное смещение
• относительное смещение
• вспомогательный алгоритм
• основной алгоритм
• цикл п раз
Знакомимся с Чертёжником
Исполнитель Чертёжник предназначен для построения рисунков на координатной плоскости.
При задании точек этой координатной плоскости, в отличие от того, как это принято в математике, координаты х и у разделяются запятой. Например, координаты выделенной на рис. 63 точки будут записаны так: (1, 1).
Чертёжник имеет перо, которое можно поднимать, опускать и перемещать. При перемещении опущенного пера за ним остаётся след — отрезок от предыдущего положения пера до нового. При перемещении поднятого пера никакого следа на плоскости не остаётся. В начальном положении перо Чертёжника всегда поднято и находится в точке (0, 0).
По команде поднять перо Чертёжник поднимает перо. Если перо уже было поднято, Чертёжник игнорирует эту команду: он не меняет положение пера и не сообщает об отказе. Иначе говоря, каким бы ни было положение пера до команды поднять перо, после этой команды оно будет поднятым.
Точно так же, независимо от первоначального положения, после выполнения команды опустить перо оно оказывается опущенным, т. е. готовым к рисованию.
Рисунки Чертёжник выполняет с помощью команд сместиться в точку и сдвинуться на вектор.
По команде сместиться в точку (а, Ь) Чертёжник сдвигается в точку с координатами (а, Ь). На рисунке 64 показаны результаты выполнения команды сместиться в точку (2, 3) при различных положениях пера до этой команды. Видно, что, независимо от предыдущего положения, перо оказывается в точке (2, 3), но длина и направление отрезка, который при этом чертится, могут быть различны. Команду сместиться в точку называют командой абсолютного смещения.
Назовите координаты точек, в которых находился Чертёжник до выполнения команды сместиться в точку (2, 3) (см. рис. 64).
В каком случае в результате выполнения команды сместиться в точку (2, 3) из некотрого показанного на рис. 64 начального положения не будет прочерчен ни один отрезок?
Пусть перо Чертёжника находится в точке (х, у). По команде (а, Ь) Чертёжник отсчитывает а единиц вправо вдоль горизонтальной оси (оси абсцисс), Ъ единиц вверх вдоль вертикальной оси (оси ординат) и сдвигает перо в точку с координатами (х + а; у + Ъ). Таким образом, координаты, указанные в команде, отсчитываются не от начала координат, а относительно текущего положения пера Чертежника. Поэтому команду сместиться на вектор называют командой относительного смещения.
На рисунке 65 показаны результаты выполнения команды сместиться на вектор (2, 3) при различных положениях пера до этой команды. Из рисунка видно, что положение пера после этой команды зависит от его предыдущего положения, зато в результате получаются отрезки, длина и направление которых одинаковы.
В математике направленные отрезки называются векторами, отсюда и происходит название команды.
Назовите координаты точек, в которых находилось перо Чертёжника до выполнения команды сместиться на вектор (2, 3) и куда оно переместилось после выполнения этой команды.
Как будет выполняться команда сместиться на вектор (а, Ь) , если:
Чертёжник может исполнять только правильно записанные команды. Например, если вместо команды сместиться на вектор написать сдвинь на вектор, то Чертёжник эту запись не поймёт и сразу же сообщит об ошибке. Ошибки в записи команд называются синтаксическими.
Алгоритм может содержать логические ошибки. Например, все команды могут быть записаны правильно, но в результате логической ошибки последовательность их выполнения не будет приводить к поставленной цели или выполнение некоторых команд приведёт к отказу.
Пример алгоритма управления Чертёжником
Изобразим с помощью Чертёжника треугольник, положение вершин которого на координатной плоскости определяется парами чисел (1, 1), (3, 5), (5, 2) (рис. 66).
Так как в начале работы перо Чертёжника всегда поднято, то для рисования треугольника с заданными координатами достаточно выполнить следующую последовательность команд:
сместиться в точку (1, 1) опустить перо
сместиться в точку (3, 5)
сместиться в точку (5, 2)
сместиться в точку (1, 1)
Предложите другие варианты выполнения этого задания. При этом число команд не должно превышать пяти (есть пять других вариантов).
А теперь составим такой алгоритм управления Чертёжником, чтобы с его помощью в произвольном месте координатной плоскости можно было нарисовать прямоугольник со сторонами, параллельными координатным осям, длины которых равны 2 и 4 единицам.
Зафиксируем одну из вершин прямоугольника в точке (1, 1). Нужный рисунок на координатной плоскости может выглядеть, как показано на рис. 67.
Предложите другой вариант рисунка, удовлетворяющий заданным условиям: одна из вершин прямоугольника расположена в точке (1, 1), а длины его сторон равны 2 и 4 единицам. (Существуют ещё семь вариантов.)
Можно определить координаты каждой из вершин этого прямоугольника и для его изображения составить следующую программу:
сместиться в точку (1, 1)
сместиться в точку (1, 3)
сместиться в точку (5, 3)
сместиться в точку (5, 1)
сместиться в точку (1, 1)
Этот алгоритм не будет решать поставленную задачу, если изменить координаты начальной точки (рис. 68). Изменение координат одной из вершин повлечёт за собой пересчет координат всех вершин прямоугольника. Причём это придется делать самому разработчику алгоритма.
Воспользуемся для рисования прямоугольника командой относительного смещения.
Пусть (х, у) — координаты вершины А прямоугольника ABCD (рис. 69).
Тогда координаты вершины В можно записать как (х, у + 2), вершины С — как (х + 4, у + 2), вершины D — как (х + 4, у) (см. рис. 69).
Чтобы изобразить отрезок АВ, воспользуемся командой сместиться на вектор (0, 2).
В результате Чертёжник сдвинет перо из точки с координатами (х, у) в точку с координатами (х + 0, у + 2).
По команде сместиться на вектор (4, 0) перо окажется в точке (х + 4, у + 2). Чтобы из этой точки перейти в точку (х + 4, у + 0), следует выполнить команду сместиться на вектор (0, -2). По команде сместиться на вектор (-4, 0) перо Чертёжника прочертит отрезок к точке А:
Если в качестве вершины А зафиксировать точку с координатами (1, 1), то программа будет выглядеть так:
сместиться в точку (l, 1)
сместиться на вектор(0, 2)
сместиться на вектор(4, 0)
сместиться на вектор(0, -2)
сместиться на вектор(-4, 0)
Для того чтобы нарисовать прямоугольник в другом месте координатной плоскости, например в точке с координатами (5, 5), достаточно изменить в этой программе только первую строку:
сместиться в точку (5, 5)
Команды относительного смещения применяются для создания рисунков, у которых точное место не важно или которые нужно воспроизводить в разных местах.
Вопросы и задания
Компьютерный практикум
Ресурсы ЕК ЦОР
Свободное программное обеспечение исполнитель Кузнечик в системе КуМир
1. КуМир версии 1.9.0 Для Linux
2. КуМир версии 1.9.0 Для Windows XP, Vista, 7 (32-bit)
Cкачать материалы урока
Читайте также: