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

Операция “пересадка лианы”

Обезьяна, сидевшая на дереве, поймала свисавшую сверху лиану. Однако нижняя часть лианы приросла к стволу и не поддавалась. Обезьяна перегрызла ее зубами, уцепилась за конец и мигом перелетела на соседнее дерево, где намертво привязала лиану к ветке.

Нечто подобное умеет делать и ДРАКОН-редактор. Роль верхнего конца лианы играет выход иконы “вопрос” или “вариант”. Лиана — это присоединенная к нему последовательность шампур-блоков или просто соединительная линия. При некоторых условиях (подробно описанных в следующей главе) нижний конец лианы можно оторвать от своего места и присоединить в другую точку дракон-схемы. Такая операция назы­вается пересадка лианы.

1

Рис. 118.  Конструирование дракон-схемы “примитив” с помощью ДРАКОН-редактора

Рис. 117.  Технология: как определить кислотность раствора

17, 118

Выполнение этой операции не требует обращения к меню и осу­ществляется в два этапа. Сначала курсор подводится к нижнему концу лианы, который пользователь желает освободить (рис. 119, левая графа). Но куда его присоединить? Пользователь выбирает желаемую точку и отмечает ее курсором (рис. 119, средняя графа). Результат операции “пересадка лианы” показан на том же рисунке в правой графе.

Многие дракон-схемы, представленные в этой книге, построены с помощью пересадки лианы. Укажем некоторые из них: рис. 26б, 27б, 40, 41, 42, 57в, 60в, 67—74.

Операция “заземление лианы”

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

Операция “заземление лианы” проводится в два этапа без обращения к меню. Первый этап (отрыв нижнего конца лианы от своего места) осуществляется точно так же, как при пересадке лианы (рис. 120, левая графа). На втором этапе пользователь подводит курсор к нижней линии силуэта, указывая точку, куда лиана может дотянуться, не пересекая других линий (рис. 120, средняя графа). Это действие по­рождает автоматическое появление в нужном месте иконы “адрес”, через которую лиана и присоединяется к нижней линии (рис. 120, правая графа).

Заземление лианы использовалось при построении силуэтов с многоадресными ветками, например, на рис. 4, 6а, 51–54, 84, 88, 89.

Пример построения дракон-программы “силуэт”

Построим визуальную программу, изображенную на рис. 96. На первом шаге конструирования пользователь обращается к меню и вызывает в рабочее поле заготовку-силуэт (рис. 121, шаг 1). На следующем шаге с помощью операции “добавление ветки” (которая выполняется без обращения к меню) он модифицирует заготовку, вставляя в силуэт еще одну ветку (рис. 121, шаг 2). Дальнейший ход строительства ясен из рисунка: в шагах 3—8, 10—13 реализуется операция “ввод атома”, в шаге 9 — “заземление лианы”. Графическое конструирование заканчивается в момент получения желаемого слепыша (рис. 121, шаг 13).

1

Рис. 119.  Примеры выполнения операции “пересадка лианы”

19

1

Рис. 120.  Примеры выполнения операции “заземление лианы”

20

1

Рис. 121.  Конструирование дракон-схемы “силуэт” с помощью ДРАКОН-редактора

21

Затем в иконах записываются текстовые операторы, после чего визуальная программа приобретает окончательный вид, показанный на рис. 96. Данная программа может выполняться методом интерпретации или же транслироваться в объектный код.