При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнять несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения.
Например, основной алгоритм рисования ряда из пяти ромбов (рис. 3.10) с помощью конструкции повторения можно записать так:
переведи в точку (1,2) опусти перо ПОВТОРИТЬ 5 РАЗ
сдвинь на вектор (1, 2) сдвинь на вектор (1, -2) сдвинь на вектор (-1, -2) сдвинь на вектор (-1, 2) подними перо сдвинь на вектор (3, 0)
КОНЕЦ
Рис. 3.10
Можно рисование ромба оформить в виде отдельной процедуры:
ПРОЦ ромб НАЧАЛО
сдвинь на вектор (1, 2) сдвинь на вектор (1, -2) сдвинь на вектор (-1, -2) сдвинь на вектор (-1, 2)
КОНЕЦ
Тогда основной алгоритм будет выглядеть так:
переведи в точку (1,2) опусти перо ПОВТОРИТЬ 5 РАЗ
ромб подними перо сдвинь на вектор (3, 0)
КОНЕЦ
В общем виде конструкция повторения записывается так:
ПОВТОРИТЬ <число повторений> РАЗ <тело цикла (последовательность команд)> КОНЕЦ
Служебные слова ПОВТОРИТЬ и КОНЕЦ пишутся одно под другим. Чуть правее между ними записывается повторяющаяся последовательность команд (тело цикла). Число повторений — произвольное целое число. Именно столько раз при выполнении алгоритма будут повторены команды, образующие тело цикла.
♦ Предложите вариант решения задачи о почтовом индексе Красноярска с использованием конструкции повторения.
♦ Можно ли обойтись без вспомогательного алгоритма в следующих ситуациях?
Исполнитель Чертежник предназначен для построения рисунков на координатной плоскости.
Система команд исполнителя представлена в следующей таблице:
Алгоритм, решающий некоторую подзадачу основной задачи, называется вспомогательным алгоритмом. Вспомогательный алгоритм оформляется в виде процедуры. Приказ на выполнение вспомогательного алгоритма называется вызовом процедуры и записывается в основном алгоритме.
При составлении алгоритмов довольно часто встречаются случаи, когда некоторую последовательность команд нужно выполнять несколько раз подряд. Для упрощения записи алгоритма в таких случаях можно использовать специальную конструкцию повторения — ПОВТОРИТЬ п РАЗ.
1. Охарактеризуйте исполнителя Чертежник.
2. Составьте для Чертежника алгоритм рисования равнобедренного треугольника, если известны координаты концов отрезка, являющегося его высотой: (4, 1) и (4, 6), а также координаты (2, 1) одной из его вершин.
3. Составьте для Чертежника алгоритм рисования прямоугольника со сторонами, параллельными осям координат, если известны координаты его двух вершин: (2, 1) и (7, 5).
4. Составьте для Чертежника алгоритм рисования ромба, центр которого совмещен с центром экрана, диагонали лежат на координатных осях, а их длины определяются числами 8 и 4.
5. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован квадрат, длина стороны которого равна 2 единицам.
6. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован прямоугольник, длины сторон которого равны 3 и 4 единицам.
7. Составьте алгоритм управления Чертежником, в результате выполнения которого в произвольном месте координатной плоскости будет нарисован произвольный параллелограмм.
8. Составьте алгоритм рисования изображенных ниже фигур так, чтобы в процессе рисования перо не отрывалось от бумаги и ни одна линия не проводилась дважды.
9. Оформите в виде процедур алгоритмы рисования букв М, И, Р. Составьте алгоритмы рисования слов МИР, РИМ, МИМ.
10. Разработайте вспомогательный алгоритм рисования домика. На его основе составьте основной алгоритм рисования улицы из пяти домиков.
11. Составьте алгоритмы управления Чертежником, после исполнения которых будут получены следующие рисунки:
12. Составьте алгоритмы управления Чертежником, после исполнения которых будут получены следующие рисунки:
13. Придумайте свои задачи для Чертежника.