Материалы к урокам 7 класса



Урок 28
Исполнитель Чертежник
Использование вспомогательных алгоритмов
Работа в среде «Алгоритмика»












Использование вспомогательных алгоритмов


Чертежник может рисовать любые фигуры из отрезков, например цифры почтового индекса. Как известно, каждая такая цифра вписана в прямоугольник (рис. 3.9).

image

Условимся при рисовании каждой цифры за начальную точку брать левую нижнюю точку соответствующего прямоугольника.

Программа рисования цифры 0 может иметь вид:


опусти перо
сдвинь на вектор (0, 2) 
сдвинь на вектор (1, 0) 
сдвинь на вектор (0, -2) 
сдвинь на вектор (-1, 0) 
подними перо 
сдвинь на вектор (2, 0)

Для рисования цифры б можно использовать программу:


сдвинь на вектор (1, 2)
опусти перо
сдвинь на вектор	(-1, -1)
сдвинь на вектор	(1, 0)
сдвинь на вектор	(0, -1)
сдвинь на вектор	(-1, 0)
сдвинь на вектор	(0, 1) 
подними перо
сдвинь на вектор	(2, -1)

♦ Для чего нужна последняя команда?

А теперь представьте, что необходимо составить алгоритм рисования почтового индекса города Красноярска — 660000.

Самый простой вариант — составить очень длинную программу, в которой дважды повторить алгоритм рисования цифры 6 и четырежды — цифры 0.

Но есть и другой способ. Оказывается, Чертежник может «запомнить», как рисуется та или иная цифра. Для решения основной задачи (рисования почтового индекса 660000) достаточно «научить» Чертежника рисовать цифру 6 и цифру 0. Для этого алгоритм рисования цифры нужно предварительно оформить в виде процедуры (вспомогательного алгоритма).

Процедура рисования цифры 0 будет выглядеть так:

ПРОЦ цифра_0 
НАЧАЛО

опусти перо
сдвинь на вектор (0, 2) 
сдвинь на вектор (1, 0) 
сдвинь на вектор (0, -2) 
сдвинь на вектор (-1, 0) 
подними перо 
сдвинь на вектор (2, 0) 
КОНЕЦ

Строка ПРОЦ цифра 0 называется заголовком процедуры. Имя процедуры — цифра О. Алгоритм рисования буквы помещается чуть правее между служебными словами НАЧАЛО и КОНЕЦ.

Процедура рисования цифры 6 будет выглядеть так:

ПРОЦ цифра_6 
НАЧАЛО

сдвинь на вектор (-1, -1) 
сдвинь на вектор (1, 0) 
сдвинь на вектор (0,-1) 
сдвинь на вектор (-1, 0) 
сдвинь на вектор (0,1) 
подними перо 
сдвинь на вектор (2, -1) 
КОНЕЦ

Приказ на выполнение вспомогательного алгоритма (процедуры) называется вызовом процедуры и записывается в основном алгоритме.

Теперь запишем основной алгоритм, с помощью которого будет нарисован индекс 660000:

переведи в точку (1, 1)
цифра_6
цифра_6
цифра_0
цифра_0
цифра_0
цифра_0

♦ К какому типу алгоритмов относится этот основной алгоритм?






Наверх