Силуэт
Ru | En
Силуэт помогает понять сложную логику
Если меня спросят, что в Драконе самое классное, я отвечу "силуэт". Силуэт делает длинные процессы лёгкими для понимания.
По умолчанию блок-схемы в Drakon.Tech имеют тип примитив. При помощи кнопки "Силуэт/примитив" можно сделать из примитива силуэт и обратно.
Силуэт состоит из нескольких небольших блок-схем, которые называются "ветками силуэта". У каждой ветки силуэта есть шапка наверху, тело и одна или несколько икон Адрес внизу. Справа находится последняя ветка, которая заканчивается иконой Конец.
Назначение силуэта состоит в том, чтобы разбить большую блок-схему на несколько малых.
Как поток исполнения идёт по блок-схеме силуэт
Поток исполнения начинается с верха самой левой ветки. Потом поток идёт через всё тело вниз, до иконы Адрес. Икона Адрес указывает на следующую ветку. Мы проходим через все ветки, пока не достигнем иконы Конец на последней ветке.
Действует соглашение, согласно которому ветки следует расположить так, чтобы они исполнялись слева-направо.
Силуэтный цикл
Выход из иконы Вопрос или Вариант можно соединить с дополнительной иконой Адрес. Тем самым линия будет "заземлена" на полу силуэта. В результате у ветки силуэта будет несколько икон Адрес.
Когда икона Адрес указывает на собственную ветку или на предыдущую ветку, мы получаем силуэтный цикл. Drakon.Tech помечает силуэтные циклы треугольниками, чтобы сделать циклы заметнее.
Три царских вопроса
Одна диаграмма силуэт удобнее, чем несколько разъединённых малых диаграмм. Силуэт разбивает сложный алгоритм на логические части, и тем не менее эти части остаются на одной визуальной сцене.
Силуэт позволяет читателю быстро увидеть суть алгоритма. Расположение элементов силуэта отвечает на три царских вопроса:
- Как называется проблема?
- Из скольких частей состоит проблема?
- Как называются части проблемы?
Икона Заголовок отвечает на первый вопрос. Шапки веток силуэта отвечают на два остальных вопроса. Причём ответ приходит незамедлительно, так как шапки веток находятся наверху диаграммы и выровнены по горизонтальной линии.