Круг решаемых задач: предназначен для построения рисунков, чертежей и графиков, состоящих из прямых линий.
Среда исполнителя: Чертежник действует на координатной плоскости. Начальное положение пера в начале координат (в точке с координатами (0,0)).
Система команд исполнителя:
- поднять перо,
- опустить перо,
- сместиться в точку (арг вещ х,у),
- сместиться на вектор (арг вещ х,у),
- выбрать чернила (лит наименование цвета) .
В команде сместиться в точку в качестве (х,у) выступают абсолютные значения координат, а сместиться на вектор — значения приращений по соответствующим осям. Т.е. при команде сместиться в точку (x,y) Чертёжник из точки с координатами (a, b) в точку с координатами (x, y). При команде сместиться на вектор (x,y) Чертёжник из точки с координатами (a, b) в точку с координатами (a+x, b+y). Если числа х, у положительные, значение соответствующей координаты увеличивается, если отрицательные – уменьшается. Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на вектор (2, –3) переместит Чертёжника в точку (6, –1).
Исполнитель Чертёжник. Среда КуМИР
При перемещении опущенного пера за ним остается след — отрезок от старого положения пера до нового, а при перемещении с поднятым пером следа не остается.
Команда выбрать чернила задает цвет пера: ”черный”, ”белый”, ”красный”, ”оранжевый”, ”желтый”, ”зеленый”, ”голубой”, ”синий”, ”фиолетовый”. По умолчанию используется черный цвет. Название цвета пишется без кавычек.
При смещении на вектор изменяются координаты х, у на числа, указанные в команде
Программы в среде Кумир
Пример программы
Пример программы со вспомогательным алгоритмом
Практикум (примеры программ)
Линейные алгоритмы
Линейные алгоритмы представляют собой последовательность команд, следующих друг за другом. Рассмотрим на примере трапеции.
Запишем алгоритм рисования трапеции в абсолютных величинах, используя команду сместиться в точку (рис. 1).
Но если мы захотим переместить эту трапецию из первой четверти во вторую, то нам придется изменять все координаты, что не рационально, поэтому воспользуемся командой сместиться на вектор (рис.2). И далее для составления алгоритмов будем пользоваться ей.
Во втором варианте для перемещения трапеции необходимо поменять координаты только первой команды, что эффективнее чем в первом варианте.
рис. 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)
Обратите внимание — исполнитель выполняет действия последовательно, одно за другим в том порядке, в котором они следуют.
Вспомогательные алгоритмы
При создании «средних» по размеру программ используется структурное программирование, идея которого заключается в том, что структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. Программа разбивается на множество подпрограмм (вспомогательных алгоритмов), каждая из которых выполняет какое-то действие, предусмотренное исходным заданием.
Комбинируя вспомогательные алгоритмы, удается сформировать итоговый алгоритм используя блоки кода (подпрограммы), имеющих определенную смысловую нагрузку. Обращаться к ним, можно по их имени. Очень важная характеристика вспомогательных алгоритмов — это возможность их повторного использования.
Там, где какие-то части программы повторяются (используются) несколько раз, удобно использовать вспомогательные алгоритмы.
Обратите внимание — если нам потребуется изменить алгоритм так, чтобы рисовались треугольники со стороной 4, а не 2, то при использовании вспомогательного алгоритма количество правок заметно уменьшается.
Примечание: все алгоритмы в программе на КуМире пишутся друг за другом, для удобства их можно отделять пустой строкой, главным считается алгоритм записанный первым, именно он начинает выполняться после запуска программы.Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.
Источник: sites.google.com
1. Знакомимся с Чертёжником
Для того, чтобы перемещать Перо по координатной плоскости необходимо написать алгоритм, используя систему команд исполнителя Чертёжник .
Команды исполнителя Чертёжник:
- опустить перо;
- поднять перо;
- сместиться в точку ((X, Y));
- сместиться на вектор ((dX, dY));
- установить цвет (цвет);
- надпись (ширина, текст).
Обрати внимание!
Координаты точки (x) и (y) разделяются запятой.
Рассмотрим подробнее каждую команду.
Опустить перо . Если перо Чертёжника опущено, то оно будет оставлять за собой след от предыдущей координаты к следующей в виде линии. С помощью этого можно рисовать в Чертёжнике различные фигуры.
Поднять перо . Когда перо поднято, след за ним не остаётся. Изначально перо всегда поднято.
Сместиться в точку (() (X, Y)). Выполняя эту команду, перо Чертёжника перемещается в указанную точку независимо от предыдущего положения.
Начальное положение Чертёжника ((0,0)).
Выполним команду сместиться в точку((2,2)).
Сместиться на вектор((dX, dY)) .
Векторы — это направленные отрезки.
При выполнении данной команды перемещение пера зависит от предыдущего положения.
Например, после того как Чертёжник сместился в точку ((2,2) ()) , дадим ему команду сместиться на вектор((4,3)).
Источник: www.yaklass.ru
Чертёжник
Исполнитель Чертёжник предназначен для построения рисунков, чертежей и т.д. на координатной плоскости.
С помощью данного исполнителя можно построить практически любое изображение. Изображения могут быть не только чёрного цвета, но и любого другого или нескольких цветов.
Координатная плоскость является средой обитания этого исполнителя. Чертёжник имеет перо, которое он может поднимать, опускать, перемещать. При перемещении опущенного пера за ним остаётся след в виде отрезка, соединяющего старое и новое положения пера.
На экране изображается только небольшая часть координатной плоскости. Эту видимую часть называют полем Чертёжника. Поле может иметь вид полной координатной плоскости (точка О(0,0)находится в середине поля или в первой четверти (точка О(0,0) находится в нижнем левом углу поля).
ВЫХОД ЧЕРТЁЖНИКА ЗА ПРЕДЕЛЫ ПОЛЯ НЕ СЧИТАЕТСЯ ОШИБКОЙ. Чаще всего ошибкой считается опускание пера, если перед этим оно уже опущено, либо поднятие пера, если перед этим перо было уже поднято.
Система команд исполнителя
Перо перемещается в указанную точку с координатами (х,у).
Перо смещается относительно его текущего положения, т.е., если текущее положение — точка (х,у), то перо сместится в точку (х+а;у+b).
Чертёжник опускает перо. При дальнейшем перемещении исполнитель будет оставлять за собой след.
Чертёжник поднимает перо. При дальнейшем перемещении исполнитель не будет оставлять за собой след.
Данная команда позволяет установить новый цвет для последующего рисования, где n- это число, задающее номер цвета.
Команда позволяет напечатать записанный в скобках текст. Текст записывается в одинарных кавычках и выводится с текущей позиции пера.
Функция, которая возвращает в программу вещественное значение координаты Х текущей точки.
Функция, которая возвращает в программу вещественное значение координаты У текущей точки.
Номера цветов точек
1 | Чёрный | 9 | Тёмно-синий |
2 | Тёмно-синий | 10 | Синий |
3 | Тёмно-зелёный | 11 | Зелёный |
4 | Тёмно-голубой | 12 | Голубой |
5 | Тёмно-красный | 13 | Красный |
6 | Тёмно-сиреневый | 14 | Сиреневый |
7 | Болотный | 15 | Жёлтый |
8 | Светло-серый | 16 | Белый |
Линейные алгоритмы
Линейным называют такой алгоритм, в котором команды выполняются одна за другой в порядке их записи.
ПРИМЕР 1. Cоставим программу вычерчивания буквы М.
Программа Буква_М Сместиться_На(1,3) Сменить_Цвет(4) Опустить_Перо Сместиться_На(0,6) Сместиться_На(2,-2) Сместиться_На(2,2) Сместиться_На(0,-6) Поднять_Перо Конец_Программы |
ПРИМЕР 2. Cоставим программу вычерчивания буквы Н.
Программа Буква_Н Сместиться_На(2,2) Сменить_Цвет(5) Опустить_Перо Сместиться_На(0,5) Сместиться_На(0,-2) Сместиться_На(2,0) Сместиться_На(0,2) Сместиться_На(0,-5) Поднять_Перо Конец_Программы |
ПРИМЕР 3. Cоставим программу вычерчивания буквы Я.
Программа Буква_Я Сместиться_На(3,1) Сменить_Цвет(6) Опустить_Перо Сместиться_На(3,3) Сместиться_На(-3,0) Сместиться_На(0,3) Сместиться_На(3,0) Сместиться_На(0,-6) Поднять_Перо Конец_Программы |
ПРИМЕР 4. Cоставим программу вычерчивания зайчика.
Программа Зайчик Сменить_Цвет(8) Сместиться_На(1,1) Опустить_Перо Сместиться_На(0,1) Сместиться_На(1,0) Сместиться_На(0,3) Сместиться_На(1,1) Сместиться_На(0,2) Сместиться_На(0.5,3) Сместиться_На(0.5,-3) Сместиться_На(0.5,3) Сместиться_На(0.5,-3) Сместиться_На(1,-1) Сместиться_На(-1,-1) Сместиться_На(0,-4) Сместиться_На(1,0) Сместиться_На(0,-1) Сместиться_На(-5,0) Поднять_Перо Сменить_Цвет(16) Сместиться_На(4,2) Опустить_Перо Сместиться_На(1,0) Сместиться_На(0,1) |
Сместиться_На(-1,1) Поднять_Перо Сменить_Цвет(12) Сместиться_На(-1.25,1.75) Опустить_Перо Сместиться_На(0,0.5) Сместиться_На(0.5,0) Сместиться_На(0,-0.5) Сместиться_На(-0.5,0) Поднять_Перо Сменить_Цвет(1) Сместиться_На(1.75,0.75) Опустить_Перо Сместиться_На(0,1.5) Поднять_Перо Сместиться_На(0,-1.5) Опустить_Перо Сместиться_На(1,1) Поднять_Перо Сместиться_На(0,-2) Опустить_Перо Сместиться_На(-1.5,0.5) Сместиться_На(1,-1) Конец_Программы |
Задания для самостоятельного выполнения
Задание 1. Cоставьте программу построения кораблика на воде.
Задание 2. Cоставьте программу с помощью которой Чертёжник напишет ваше имя.
Задание 3. Cоставьте программу для рисования Чертёжником придуманного вами рисунка.
Вспомогательные алгоритмы
Вспомогательным называют такой алгоритм, который можно использовать в любом месте другого алгоритма. Для вызова вспомогательного алгоритма используется его имя. Во вспомогательном алгоритме не тспользуется команда Сместиься_В(х,у).
ПРИМЕР 5.
Cоставим программу, рисующую забавные игрушки.
Программа Игрушки Сместиться_На(6,3) Сменить_Цвет(13) Игрушка Сменить_Цвет(12) Игрушка Сменить_Цвет(11) Игрушка Конец_Программы Программа Игрушка Опустить_Перо Сместиться_На(3,3) Сместиться_На(-3,3) Сместиться_На(1,-3) |
Сместиться_На(-1,-3) Сместиться_На(-1,3) Сместиться_На(1,3) Сместиться_На(-3,-3) Сместиться_На(3,-3) Сместиться_На(-4,0) Сместиться_На(0,-2) Сместиться_На(8,0) Сместиться_На(0,2) Сместиться_На(-4,0) Поднять_Перо Сместиться_На(8,8) Конец_Программы |
ПРИМЕР 6.
Cоставим программу, рисующую цветы в горшках.
Программа Цветник Сместиться_На(3,1) Цветок Цветок Цветок Конец_Программы Программа Цветок Опустить_Перо Сменить_Цвет(1) Сместиться_На(2,0) Сместиться_На(1,3) Сместиться_На(-4,0) Сместиться_На(1,-3) Поднять_Перо Сместиться_На(0,4) Опустить_Перо Сменить_Цвет(11) Сместиться_На(-1,0) Сместиться_На(-1,1) Сместиться_На(0,1) Сместиться_На(1,0) Сместиться_На(1,-1) Сместиться_На(0,-1) Сместиться_На(1,-1) Сместиться_На(0,3) |
Сменить_Цвет(13) Сместиться_На(2,0) Сместиться_На(-1,2) Сместиться_На(2,-1) Сместиться_На(0,3) Сместиться_На(-2,-1) Сместиться_На(1,2) Сместиться_На(-3,0) Сместиться_На(1,-2) Сместиться_На(-2,1) Сместиться_На(0,-3) Сместиться_На(2,1) Сместиться_На(-1,-2) Сместиться_На(1,0) Поднять_Перо Сместиться_На(0,2) Опустить_Перо Сменить_Цвет(15) Сместиться_На(1,0) Сместиться_На(0,1) Сместиться_На(-1,0) Сместиться_На(0,-1) Поднять_Перо Сместиться_На(9,-8) Конец_Программы |
ПРИМЕР 7.
Cоставим программу, рисующую цветы на поляне.
Программа Поляна Сместиться_На(3,1) Сменить_Цвет(11) Стебель Сменить_Цвет(13) Цветок Сменить_Цвет(11) Стебель Сменить_Цвет(4) Цветок Сменить_Цвет(11) Стебель Сменить_Цвет(5) Цветок Конец_Программы Программа Стебель Опустить_Перо Сместиться_На(0,2) Сместиться_На(1,0) Сместиться_На(1,1) Сместиться_На(0,1) Сместиться_На(-1,0) Сместиться_На(0,-1) Сместиться_На(-2,0) Сместиться_На(0,1) |
Сместиться_На(-1,0) Сместиться_На(0,-1) Сместиться_На(1,-1) Сместиться_На(1,0) Сместиться_На(0,4) Поднять_Перо Конец_Программы Программа Цветок Опустить_Перо Сместиться_На(-1,1) Сместиться_На(3,3) Сместиться_На(1,-1) Сместиться_На(-1,-1) Сместиться_На(-3,3) Сместиться_На(1,1) Сместиться_На(1,-1) Сместиться_На(-3,-3) Сместиться_На(-1,1) Сместиться_На(1,1) Сместиться_На(3,-3) Сместиться_На(-1,-1) Поднять_Перо Сместиться_На(7,0) Конец_Программы |
ПРИМЕР 8.
Cоставим программу, рисующую дома на улице.
Программа Улица Сместиться_На(1,1) Дом Дом Дом Дом Конец_Программы Программа Дом Сменить_Цвет(1) Опустить_Перо Сместиться_На(0,3) Сместиться_На(1.5,2) Сместиться_На(1.5,-2) Сместиться_На(0,-3) Сместиться_На(-3,0) Поднять_Перо Сместиться_На(1,1) Опустить_Перо Сменить_Цвет(13) Сместиться_На(0,1) Сместиться_На(1,0) Сместиться_На(0,-1) Сместиться_На(-1,0) Поднять_Перо Сместиться_На(0,0.5) Опустить_Перо Сместиться_На(1,0) Поднять_Перо Сместиться_На(-0.5,0) Опустить_Перо |
Сместиться_На(0,-0.5) Поднять_Перо Сместиться_На(1.5,1) Опустить_Перо Сменить_Цвет(14) Сместиться_На(0.5,0.5) Сместиться_На(0.5,-0.5) Сместиться_На(0.5,0.5) Сместиться_На(0.5,-0.5) Сместиться_На(0.5,0.5) Сместиться_На(0.5,-0.5) Сместиться_На(0,-2) Сместиться_На(-3,0) Поднять_Перо Сместиться_На(1,0) Опустить_Перо Сместиться_На(0,2) Поднять_Перо Сместиться_На(1,0) Опустить_Перо Сместиться_На(0,-2) Поднять_Перо Сместиться_На(1,0) Опустить_Перо Сместиться_На(0,2) Поднять_Перо Сместиться_На(0,-2) Конец_Программы |
ПРИМЕР 9.
Cоставим программу, рисующую дом с окнами и дверью.
Программа дом Сместиться_На(1,1) Опустить_Перо Сместиться_На(21,0) Сместиться_На(0,7) Сместиться_На(-21,0) Сместиться_На(10,4) Сместиться_На(11,-4) Поднять_Перо Сместиться_На(-21,-7) Опустить_Перо Сместиться_На(0,7) Поднять_Перо Сместиться_На(16,-7) Опустить_Перо Сместиться_На(0,5) Сместиться_На(3,0) Сместиться_На(0,-5) Поднять_Перо Сместиться_На(-18,3) Сменить_Цвет(11) окно Сменить_Цвет(12) |
окно Сменить_Цвет(13) окно Конец_Программы Программа окно Опустить_Перо Сместиться_На(0,3) Сместиться_На(3,0) Сместиться_На(0,-3) Сместиться_На(-3,0) Поднять_Перо Сместиться_На(0,1.5) Опустить_Перо Сместиться_На(3,0) Поднять_Перо Сместиться_На(-1.5,-1.5) Опустить_Перо Сместиться_На(0,1.5) Поднять_Перо Сместиться_На(2.5,-1.5) Конец_Программы |
Задания для самостоятельного выполнения
Задание 5. Cоставьте программу с помощью которой Чертёжник нарисует несколько автомобилей на улице.
Задание 6. Cоставьте программу для рисования Чертёжником придуманного вами рисунка, в котором будут повторяющиеся элементы.
Источник: elena8675.jimdofree.com