DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 00:52

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Четверг, 27 Август, 2015 16:12 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Вопрос простой:
Любой граф можно преобразовать в Дракон-схему Силуэт?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Август, 2015 16:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Любой алгоритм можно изобразить в виде силуэта, потому что язык ДРАКОН полный по Тьюрингу.

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Август, 2015 16:50 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Владимир Паронджанов писал(а):
Приведите пример блок-схемы, которую, на Ваш взгляд, нельзя изобразить в виде силуэта. И я покажу, как это можно сделать.


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Август, 2015 17:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
При преобразовании Вашего множества точек в силуэт, в общем случае появятся дополнительные точки (дополнительные переменные), которых не было в Вашем исходном множестве точек.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Август, 2015 12:06 

Зарегистрирован: Вторник, 13 Декабрь, 2011 15:31
Сообщения: 113
Было бы интересно посмотреть пример.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 30 Август, 2015 20:03 

Зарегистрирован: Четверг, 10 Январь, 2013 16:59
Сообщения: 70
Шилин Александр писал(а):
Любой граф можно преобразовать в Дракон-схему Силуэт?

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 24 Декабрь, 2017 11:05 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Цитата:
Запрет пересечений принуждает выделять независимые логические блоки, уменьшать цикломатическую сложность:
https://habrahabr.ru/post/345320/#comment_10581994


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB