Алгоритмы с повторениями для исполнителя Чертёжник.
Работа в среде исполнителя Чертёжник
Презентация «Управление исполнителем Чертежник»
Ключевые слова:
• исполнитель Чертёжник
• абсолютное смещение
• относительное смещение
• вспомогательный алгоритм
• основной алгоритм
• цикл п раз
Цикл ПОВТОРИТЬ п РАЗ
При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнять несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения.
Например, программу рисования ряда из пяти ромбов (рис. 71) с помощью конструкции повторения можно записать так:
использовать Чертежник
алг ряд ромбов
нач
сместиться в точку (1,2)
нц 5 раз
опустить перо
сместиться на вектор (1, 2)
сместиться на вектор (1, -2)
сместиться на вектор (-1, -2)
сместиться на вектор (-1, 2)
Пример алгоритма управления Чёртежником 1
поднять перо
сместиться на вектор (3, 0)
кц
кон
Рисование ромба можно оформить в виде вспомогательного алгоритма:
алг ромб
нач
сместиться на вектор (1, 2)
сместиться на вектор (1, -2)
сместиться на вектор (-1, -2)
сместиться на вектор (-1, 2)
кон
Тогда основной алгоритм будет выглядеть так:
использовать Чертежник
алг ряд ромбов_1
нач
сместиться в точку (1,2)
нц 5 раз
опустить перо
ромб
поднять перо
сместиться на вектор (3, 0)
кц
кон
В общем виде конструкция повторения записывается так:
нц раз
кц
Служебные слова нц и кц пишутся одно под другим. Чуть правее между ними записывается повторяющаяся последовательность команд (тело цикла). Число повторений — произвольное целое число. Именно столько раз при выполнении алгоритма будут повторены команды, образующие тело цикла.
Предложите вариант решения задачи о почтовом индексе Красноярска с использованием конструкции повторения.
Можно ли обойтись без вспомогательного алгоритма в следующих ситуациях (рис. 72)?
Вопросы и задания
1. Охарактеризуйте исполнителя Чертёжник.
2. Составьте для Чертёжника алгоритм рисования прямоугольника со сторонами, параллельными осям координат, если известны координаты его двух вершин: (2, 1) и (7, 5).
3. Составьте алгоритм управления Чертёжником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован квадрат, длина стороны которого равна 2 единицам.
4. Составьте алгоритм управления Чертёжником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован прямоугольник, длины сторон которого равны 3 и 4 единицам.
5. Составьте алгоритм рисования изображенных ниже фигур так, чтобы в процессе рисования перо не отрывалось от бумаги и ни одна линия не проводилась дважды.
6. Оформите вспомогательные алгоритмы для рисования букв «М», «И», «Р». Составьте алгоритмы рисования слов «МИР», «РИМ», «МИМ».
Урок: Исполнитель Чертежник. Пример алгоритма
7. Разработайте вспомогательный алгоритм рисования домика. На его основе составьте основной алгоритм рисования улицы из пяти домиков.
8. Составьте алгоритмы управления Чертёжником, после исполнения которых будут получены следующие рисунки:
9. Составьте алгоритмы управления Чертёжником, после исполнения которых будут получены следующие рисунки:
Источник: infoznaikashkola9.blogspot.com
Составление программ для исполнителя Чертёжник
1. Составление программ для исполнителя Чертёжник
2. Исполнитель Чертежник предназначен для построения рисунков на координатной плоскости
B(-3,2)
Y
4
3
A(2,3)
2
1
-4 -3 -2 -1 O
-1
-2
C(-2,-3)
-3
1
2
3 4
D(3,-2)
X
3.
Чертежник имеет перо, которое можно
поднимать, опускать и перемещать.
В начальном положении перо Чертежника
всегда поднято и находится в точке (0, 0).
4. СКИ Чертёжника
• поднять перо — Чертежник поднимает перо;
опустить перо — Чертежник опускает перо;
• сместиться в точку (x,y) — Чертежник
перемещается в точку с координатами (x,y);
• сместиться
перемещается
положения;
на
на
вектор
вектор
(x,y)
(x,y)
— Чертежник
от текущего
• установить цвет (S) – Чертежник устанавливает
цвет
Цвета: черный, белый, красный, оранжевый,
синий, голубой, желтый, зеленый, фиолетовый
5. Сместиться в точку (4, 3)
6.
Сместиться в точку (2, 3)
Команду сместиться в точку называют
командой абсолютного смещения.
7.
Сместиться на вектор (2, 3)
1. Отсчитываем 2 единицы вправо
вдоль оси X.
2. Отсчитываем 3 единицы вверх
вдоль оси Y.
3. Соединяем точки.
8.
Сместиться на вектор (x, y)
Команду сместиться на вектор называют
командой относительного смещения.
9.
Пример алгоритма управления
Чертежником
сместиться в точку (1,1)
опустить перо
сместиться в точку (3,5)
сместиться в точку (5,2)
сместиться в точку (1,1)
10.
Задание 1
Чертежнику нужно переместиться в точку с
координатами (4,2). Какую команду нужно для этого
задать?
1. сместить в точку (4,2)
2. сместиться в точку (4,2)
3. попасть в точку (4,2)
4. сместиться в точку (4;2)
11.
Задание 2
Исполнителю Чертежник нужно задать красный
цвет пера. Какую команду нужно для этого задать?
1. установить цвет (красный)
2. установи цвет «красный»
3. установить цвет «красный»
4. установить цвет («красный»)
12.
Задание 3
Какую команду
сможет выполнить?
исполнитель
1. поднять перо
2. сместиться в точку (1,9)
3. установить цвет («сиреневый»)
4. сместиться на вектор (5,6)
5. опустить перо
Чертежник
не
13.
Задание 4
Программист
написал
программу
для
исполнителя Чертежник, но допустил в ней ошибки.
Постарайтесь их найти и исправить.
использовать Чиртежник
алг
нач
установи цвет (желтый)
опустить перо
сместиться в точку (3,1)
сместиться в точку (6;5)
сместиться в точку (4;2)
использовать Чертежник
алг
нач
установить цвет («желтый»)
опустить перо
сместиться в точку (3,1)
сместиться в точку (6,5)
сместиться в точку (4,2)
кон
14.
15.
Чертежник учится писать
16.
Для того чтобы Чертежник мог выводить на чертеже
текст, используют следующую команду:
надпись (ширина, «текст»)
использовать Чертежник
алг
нач
надпись (5,»мороженное»)
кон
17.
Команда сместиться на
вектор (х, у)
18.
В произвольном месте координатной плоскости
нарисовать прямоугольник со сторонами,
параллельными координатным осям, длины которых
равны 2 и 4 единицам
сместиться в точку (1,1)
опустить перо
сместиться в точку (1,3)
сместиться в точку (5,3)
сместиться в точку (5,1)
сместиться в точку (1,1)
19.
20.
сместиться в точку (1,1)
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (4,0)
сместиться на вектор (0,-2)
сместиться на вектор (-4,0)
21.
сместиться в точку (0,3)
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (4,0)
сместиться на вектор (0,-2)
сместиться на вектор (-4,0)
22.
Использование
вспомогательных
алгоритмов
23.
Чертежник может рисовать любые фигуры из
отрезков, например цифры почтового индекса. Как
известно, цифра вписана в прямоугольник.
24.
Условимся при рисовании каждой цифры за
начальную точку брать левую нижнюю точку
соответствующего прямоугольника.
25.
Программа рисования цифры 0
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (1,0)
сместиться на вектор (0,-2)
сместиться на вектор (-1,0)
поднять перо
сместиться на вектор (2,0)
26.
Программа рисования цифры 6
сместиться на вектор (1,2)
опустить перо
сместиться на вектор (-1,-1)
сместиться на вектор (1,0)
сместиться на вектор (0,-1)
сместиться на вектор (-1,0)
сместиться на вектор (0,1)
поднять перо
сместиться на вектор (2,-1)
27.
Составим алгоритм рисования почтового
индекса города Красноярска – 660000.
алг цифра 0
нач
установить цвет («красный»)
опустить перо
сместиться на вектор (0,2)
сместиться на вектор (1,0)
сместиться на вектор (0,-2)
сместиться на вектор (-1,0)
поднять перо
сместиться на вектор (2,0)
кон
28.
Составим алгоритм рисования почтового
индекса города Красноярска – 660000.
алг цифра 6
нач
сместиться на вектор (1,2)
опустить перо
сместиться на вектор (-1,-1)
сместиться на вектор (1,0)
сместиться на вектор (0,-1)
сместиться на вектор (-1,0)
сместиться на вектор (0,1)
поднять перо
сместиться на вектор (2,-1)
кон
Источник: ppt-online.org
Использование процедур
Напишем с помощью Чертежника слова МАМА на экране. Заметим, что оно состоит из двух одинаковых букв А и двух одинаковых букв М. Это наводит на мысль об использовании процедур.
Научим Чертежника рисовать на экране буквы М и А одинаковой высоты. Обе буквы вписаны в прямоугольник 20 на 40, точка Б находится на расстоянии 5 от правой ножки. Заметим, что переход в точку Б означает, что исполнитель уже готов рисовать следующую букву.
вектор (0, 40); вектор (10, -20);
вектор (10, 20); вектор (0, -40);
подними_перо; вектор (5, 0);
вектор (10, 40); вектор (10, 0);
вектор (0, -20); вектор (-15, 0);
вектор (15, 0); вектор (0, -20);
подними_перо; вектор (5, 0);
Теперь очень легко написать основную программу:
При проверке на компьютере после нее надо записать обе процедуры.
Процедуры с параметрами
Теперь решим задачу, с которой Черепаха сможет справиться только с очень большим трудом (здесь надо использовать тригонометрические функции). Построим на экране такую фигуру:
Исполнитель находится в точке A, именно отсюда удобнее рисовать все треугольники — там находятся середины их оснований. Как обычно, выделяем общее и отличие:
- общее: все треугольники равнобедренные, основание горизонтально
- отличия: разная длина основания и высота — они будут параметрами процедуры
Включим в параметры процедуры еще цвет линии c:
Треугольник(int a, int h, int c )
вектор ( a/2, -h ); вектор ( -a/2, 0 );
С верхними тремя треугольниками все понятно. Сложность — с тем, который «опрокинут» вниз. Однако для того, чтобы нарисовать его, достаточно задать отрицательную высоту. Окончательно основная программа принимает вид:
Треугольник (60, 90, 9);
Треугольник (120, 60, 10);
Треугольник (180, 30, 2, 11);
Треугольник (90, -30, 6, 12);
Циклы и переменные
Чертежник понимает команду цикла повтори и может использовать переменные. Это демонстрирует следующий пример.
int a = 10, h = 30;
Треуг (int a, int h)
вектор (0, h); вектор (a, -h);
Здесь одновременно меняются две переменные: основание и высота, причем основание увеличивается, а высота уменьшается.
Рассмотрим еще одну задачу: с помощью исполнителя Чертежник нарисовать узор из квадратов:
Сторона каждого из квадратов и расстояние между строками и между столбцами равны 10. Приведем два способа решения этой задачи:
Первый способ использует процедуру Ряд, параметром которой является количество квадратов в строке. Обратите внимание, что тело цикла не ограничено скобками, так как содержит только один оператор. При этом соблюдается запись с отступами – тело цикла сдвинуто вправо.
Во втором способе мы фактически сразу подставили тело процедуры в основную программу. При этом получилось, что в теле внешнего цикла в основной программе находится еще один цикл (внутренний), который раньше был в процедуре. Такая конструкция называется вложенный цикл. При этом в записи тело внутреннего цикла также сдвинуто вправо относительно его заголовка.
Заметьте, что для правильной работы этих программ к ним необходимо добавить текст процедуры Квадрат.
вектор (0, a ); вектор ( a, 0);
вектор (0, — a ); вектор (- a, 0);
Источник: studfile.net