Цель темы -- дать краткое и сжатое описание
наиболее важных принципов работы дракон-редактора.Главы 21 и 22 по смыслу тесно связаны,
так как дракон-редактор реализует
визуальный синтаксис языка Дракон.
Рекомендация. Сначала прочитайте главу 21.а затем главу 22
viewtopic.php?f=62&t=2629&p=47259#p47259________________________________________________________________________
Глава 21
ВИЗУАЛЬНЫЙ КОНСТРУКТОР
АЛГОРИТМОВ (ДРАКОН-РЕДАКТОР) МЕНЮ И ЗАГОТОВКИДракон-редактор имеет меню графоэлементов (рис. 165).
Дракон-схема формируется из элементов, называемых заготовками.
Таких заготовок две. Одна используется для построения дракон-схемы «примитив». Из другой получается силуэт (рис. 166).
Построение любой дракон-схемы выполняется за конечное число шагов путем соответствующих преобразований выбранной заготовки.
Вложение:
Комментарий к файлу: Меню и заготовки
Рис.165,166.png [ 55.85 КБ | Просмотров: 4047 ]
ВВОД АТОМАЭлемент меню на рис. 165 называется атомом, если он имеет два вертикальных отростка.
Операция «ввод атома» показана на рис. 167. Операция выполняется в два этапа: сначала пользователь выбирает нужный атом из меню, затем обращается к дракон-схеме и указывает точку, в которую нужно его ввести.
Атомы вставляются в разрешенные места, которые называются валентными точками дракон-схемы. Перечень точек включает:
• валентные точки заготовок (отмечены на рис. 166);
• валентные точки макроикон (отмечены на рис. 5);
• входы и выходы атомов.
Ввод атома производится так. Сначала происходит разрыв соединительной линии в выбранной пользователем валентной точке. Затем в место разрыва вставляется атом, как показано на рис. 167.
В реальных дракон-схемах валентные точки не изображаются, а подразумеваются.
Вложение:
Комментарий к файлу: Ввод атома
Рис.167.png [ 60.28 КБ | Просмотров: 4047 ]
ПРИМЕР ПОСТРОЕНИЯ ДРАКОН-СХЕМЫ «ПРИМИТИ» начале графического конструирования пользователь обращается к меню, подводит курсор к макроиконе «заготовка-примитив» и копирует последнюю в рабочее поле экрана.
На первом шаге пользователь вызывает из меню макроикону «обычный цикл». И помещает ее в нужную точку заготовки-примитив. Результат операции виден на рис. 168 (шаг 2).
Два следующих шага выполняются аналогично. В дракон-схему последовательно вводятся две иконы «действие» (рис. 168, шаги 3 и 4).
Далее следует ввод макроиконы «обычный цикл» (рис. 168, шаг 5).
В конце производится ввод иконы «вставка». Результат показан на рис. 168 (шаг 6).
После того как графический узор (слепыш) дракон-схемы построен, производится заполнение его текстом.
Вложение:
Комментарий к файлу: Построение схемы "примитив"
Рис.168.png [ 68.38 КБ | Просмотров: 4046 ]
ОПЕРАЦИЯ «ПЕРЕСАДКА ЛИАНЫ»Роль верхнего конца лианы играет выход иконы «вопрос» или «вариант».
Лиана — это присоединенная к нему (выходу) последовательность шампур-блоков или просто соединительная линия. При некоторых условиях (описанных в следующей главе) нижний конец лианы можно оторвать от своего места и присоединить в другую точку дракон-схемы. Такая операция называется пересадка лианы.
Выполнение этой операции осуществляется в два этапа. Сначала курсор подводится к нижнему концу лианы, который надо освободить (рис. 169, левая графа). Но куда его присоединить? Пользователь выбирает желаемую точку и отмечает ее курсором (рис. 169, средняя графа). Результат операции «пересадка лианы» показан на том же рисунке в правой графе.
Вложение:
Комментарий к файлу: Операция "Пересадка лианы"
Рис.169.png [ 46.15 КБ | Просмотров: 4046 ]
ОПЕРАЦИЯ «ЗАЗЕМЛЕНИЕ ЛИАНЫ»Функция «пересадка лианы» универсальна в том смысле, что она применима и к примитиву, и к силуэту. В отличие от нее операция заземление лианы относится только к силуэту. Она служит для построения веток, имеющих несколько выходов (многоадресных веток).
Для этого необходимо:
• организовать в ветке разветвление (с помощью макроикон «развилка» или «переключатель»);
• оторвать присоединенную к ним лиану от прежнего места;
• присоединить ее через икону «адрес» к нижней горизонтальной линии силуэта, то есть «заземлить» ее.
Операция «заземление лианы» проводится в два этапа.
Первый этап (отрыв нижнего конца лианы от своего места) осуществляется точно так же, как при пересадке лианы (рис. 170, левая графа).
На втором этапе пользователь подводит курсор к нижней линии силуэта, указывая точку, куда лиана может дотянуться, не пересекая других линий (рис. 170, средняя графа).
Это действие порождает автоматическое появление в нужном месте иконы «адрес». Лиана автоматически присоединяется к иконе «адрес». И через нее — к нижней линии силуэта (рис. 170, правая графа).
Заземление лианы используется при построении силуэтов с многоадресными ветками.
Вложение:
Комментарий к файлу: Операция "Заземление лианы"
Рис.170.png [ 41.46 КБ | Просмотров: 4046 ]
ПРИМЕР ПОСТРОЕНИЯ ДРАКОН-СХЕМЫ «СИЛУЭТ»Вначале обратимся к меню и вызовем в рабочее поле заготовку-силуэт (рис. 171, вверху слева).
На первом шаге выполним операцию «добавление ветки». То есть модифицируем заготовку, вставляя в заготовку-силуэт еще одну ветку (рис. 171, шаг 2).
Дальнейший ход строительства ясен из рисунков 171 и 172. В шагах 2—5 вставим 4 иконы «действие». В шаге 6 вставим макроикону «обычный цикл». Результат виден на рис. 172, шаг 7, слева.
Затем выполним заземление лианы (шаги 7,
. В заключение вставим икону «комментарий».
Графическое конструирование заканчивается в момент получения желаемого слепыша (рис. 172, шаг 10).
Затем в иконах записываются текстовые операторы, после чего визуальный алгоритм приобретает окончательный вид.
Вложение:
Комментарий к файлу: Построение схемы "силуэт" (пример)
Рис.171.png [ 73 КБ | Просмотров: 4046 ]
Вложение:
Комментарий к файлу: Построение схемы "силуэт" (пример). Окончание
Рис.172.png [ 62.32 КБ | Просмотров: 4046 ]
Конец главы 21
______________________________________________________________
Примечание. Вы прочитали выжимку из главы 21
книги "Дружелюбные алгоритмы, понятные каждому".