Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Как+улучшить+работу+ума.doc
Скачиваний:
24
Добавлен:
29.10.2018
Размер:
8.78 Mб
Скачать

Переключатель и переключающий цикл

Предположим, в алгоритме нужно организовать разветвление на несколько направлений. Задачу можно решить двумя способами: с помощью иконы “вопрос” (рис. 46а) и с помощью переключателя (рис. 46б).

Переключатель — составной визуальный оператор (рис. 2, макроикона 3), имеющий один вход и один выход, содержащий одну икону “выбор” и несколько (две и более) икон “вариант” (рис. 1, иконы И5, И6). Внутри иконы “выбор” делается надпись, обычно в утвердительной форме, которая обозначает вопрос, имеющий строго определенное число ответов (два и более). Ответы записываются в иконах “вариант”. Таким образом, число вариантов равно числу ответов. Говоря формально, в иконе “выбор” записывается переменная, в иконах “вариант” — ее значения. На рис. 46б переменная “Светофор” принимает три значения: зеленый, желтый, красный.

Переключатель позволяет создать особый тип цикла — переключающий цикл (рис. 2, макроикона 5). Для этого нужно оторвать выход правой ветви переключателя, загнуть его вверх и присоединить стрелку в нужное место (рис. 47).

На рис. 48 изображен цикл с переключателем, однако это не переключающий цикл, а обычный. Как их отличить? В первом случае переключатель имеет два выхода, во втором — только один. Есть еще одно отличие. Если вверх загибается выход иконы “вопрос” — это обычный цикл (ДО, ПОКА или гибридный). А если кверху идет выход переключателя — перед нами переключающий цикл.

Цикл для

На рис. 49 и 50 показаны два варианта решения простой математи­ческой задачи. В первом случае используется цикл ДО, во втором — цикл ДЛЯ. Цикл ДЛЯ — составной визуальный оператор (рис. 2, макроикона 6), содержащий иконы “начало цикла ДЛЯ” и “конец цикла ДЛЯ” (рис. 1, иконы И12, И13), между которыми располагаются одна или несколько других икон. Внутри иконы “начало цикла ДЛЯ” указываются переменная цикла, ее начальное и конечное значения и шаг. Порядок

4

Рис. 46.  Что лучше: икона “вопрос” или переключатель?

6

з

Рис. 47.  Как построить переключающий цикл?

аписи этих величин определяется выбранным вариантом текстового синтаксиса. На рис. 50 изображен вариант, по умолчанию принимающий, что шаг равен 1.

Веточный цикл

Циклы, описанные выше, могут использоваться как в примитиве, так и в силуэте. В этом параграфе речь пойдет о веточном цикле, который встречается только в силуэте.

Веточный цикл образуется, когда метка в иконе “адрес” указывает либо на свою ветку, либо на ветку, которая находится левее. Например, икона-адрес “Покупка плюшек” на рис. 51 указывает на свою ветку. Внутри веточного цикла могут появляться циклы других типов. На рис. 52 изображена конструкция “цикл в цикле”, у которой внутри веточного цикла находится цикл ДО.

р

Рис. 49.  Как вычислить факториал X = n! с помощью цикла ДО?

Рис. 50.  Как вычислить факториал X = n! с помощью цикла ДЛЯ?

Рис. 48.  Цикл ДО, в котором есть переключатель

ис.48, 49, 50

5

Рис. 51.  Веточный цикл с досрочным выходом (сравни с рис. 39)

Рис. 52.  Цикл ДО внутри веточного цикла

1, 52

5

3

При замене примитива на эквивалентный ему силуэт гибридный цикл нередко превращается в веточный цикл. В этом легко убедиться, сравнив эквивалентные алгоритмы на рис. 41 и 53.