DRAKON.SU
http://forum.drakon.su/

Любой граф можно преобразовать в Дракон-схему Силуэт?
http://forum.drakon.su/viewtopic.php?f=148&t=5477
Страница 1 из 1

Автор:  Шилин Александр [ Четверг, 27 Август, 2015 16:12 ]
Заголовок сообщения:  Любой граф можно преобразовать в Дракон-схему Силуэт?

Вопрос простой:
Любой граф можно преобразовать в Дракон-схему Силуэт?

Вопрос возник из интереса:
Любую блок-схему программ, которую рисуют другими средствами можно преобразовать в Дракон-схему Силуэт?
Если мы соединяем стрелками точки в произвольных наборах точек на плоскости, то можно ли преобразовать такую "сеть" в Дракон-схему Силуэт? Если считать точки адресами в Силуэте?

Автор:  Владимир Паронджанов [ Четверг, 27 Август, 2015 16:41 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

Любой алгоритм можно изобразить в виде силуэта, потому что язык ДРАКОН полный по Тьюрингу.

Проще всего поступить так. Приведите пример блок-схемы, которую, на Ваш взгляд, нельзя изобразить в виде силуэта. И я покажу, как это можно сделать.

Теория изложена здесь Книга Учись... стр. 436–448.

Александр Николаевич, используется метод Ашкрофта-Манны в редакции Йодана. При этом вводятся дополнительные переменные.

Автор:  Шилин Александр [ Четверг, 27 Август, 2015 16:50 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

Владимир Паронджанов писал(а):
Приведите пример блок-схемы, которую, на Ваш взгляд, нельзя изобразить в виде силуэта. И я покажу, как это можно сделать.


Вот именно это и интересует: есть ли такое множество точек, соединённых стрелками друг с другом, которое нельзя нарисовать Силуэтом?

Автор:  Владимир Паронджанов [ Четверг, 27 Август, 2015 17:12 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

При преобразовании Вашего множества точек в силуэт, в общем случае появятся дополнительные точки (дополнительные переменные), которых не было в Вашем исходном множестве точек.

Что это за дополнительные точки? Грубо говоря, это иконы "имя ветки" и "адрес".

Без введения дополнительных переменных преобразование в силуэт может оказаться невозможным. А если разрешено вводить дополнительные переменные, то преобразование в силуэт возможно всегда. И выполняется элементарно.

Автор:  vasili111 [ Пятница, 28 Август, 2015 12:06 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

Было бы интересно посмотреть пример.

Автор:  __1__ [ Воскресенье, 30 Август, 2015 20:03 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

Шилин Александр писал(а):
Любой граф можно преобразовать в Дракон-схему Силуэт?

Изобразить-то можно. Только сложные силуэты бесполезны: они как забор, за которым ничего не видно. Чем длиннее и выше этот "забор", тем он менее понятен.

Итак, моё мнение: зачастую, для сложных алгоритмов единый силуэт всё портит.
А вот если в примитиве 'развесить' небольшие силуэты в виде подпрограмм, это кардинально повысит читабельность (и понятность). Вообще, чем проще показана суть алгоритма, тем лучше. А детали показывать дополнительными ("подпрограммными") подробностями. С десяток иконок на схему — это предел в правилах 'хорошего тона'.

Впрочем, силуэтики можно 'вешать' прямо в примитив (как блоки, макроиконы)... Я, кажется, уже показывал этот синтаксис (который существенно изменяет и дополняет нотации В.Паронджанова), особенно для параллельных потоков. Более того, современные средства электронно представления позволяют представлять одну и ту же схему разными способами... , и это ещё больше повысит её 'понимабельность', наглядность. Например, теоретически, всегда можно нарисовать схему в виде примитивов, а потом (по команде!) транслировать её в силуэт (или наоборот). Или разбить эти введённые данные на несколько взаимосвязанных блоков (изображаемых раздельно). Дополнительно (для навигации) представить её же в виде сетевого дерева.

Но здесь возмутится Владимир Даниэлович, и опять отправит меня читать его теорию: "только простые алгоритмы можно изображать в виде примитива".
А если на схемах ввести метки (-гиперссылки)? Это не по правилам. Но кто эти правила придумал?? :)) Грамотное применение меток снимет ненужные ограничения. Особенно для параллельных действий. Компьютерная схема — это не лист бумаги, и, поэтому, ссылочная интерактивность вполне допустима. Впрочем, ещё до изобретения персональных компьютеров метки успешно применялись в бумажных электросхемах. )) Так что, это даже не новое.

А ещё, в силуэтом заборе можно интерактивно скрывать неактуальные "штакетины", менять их взаимное положение. Пусть весь забор огромен, но, временно, взаимодействиующие штакетины можно расположить по соседству, а остальные вообще не рассматривать (и даже не показывать)).

Автор:  Владимир Паронджанов [ Воскресенье, 24 Декабрь, 2017 11:05 ]
Заголовок сообщения:  Re: Любой граф можно преобразовать в Дракон-схему Силуэт?

Цитата:
Запрет пересечений принуждает выделять независимые логические блоки, уменьшать цикломатическую сложность:
https://habrahabr.ru/post/345320/#comment_10581994

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/