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

Пример алгоритма на ДРАКОНе
https://forum.drakon.su/viewtopic.php?f=178&t=957
Страница 4 из 4

Автор:  dvuugl [ Суббота, 25 Апрель, 2009 01:56 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Ну, шаг от графического ассемблера (коим является силуэт) к графическому бейсику - уже прогресс :)

Автор:  Илья Ермаков [ Суббота, 25 Апрель, 2009 02:09 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Да не является он, не является :)

Силуэт - это автомат. Предельно строгая штука.

Автор:  Сергей Оборотов [ Суббота, 25 Апрель, 2009 05:50 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Илья Ермаков писал(а):
Нет, ни в коем случае. Это смешивание принципиально разного!!
Не принципиально. Можно добавить операцию раскрытия примитивов. На силуэт не повлияет никак.

Автор:  dvuugl [ Суббота, 25 Апрель, 2009 11:03 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Цитата:
Силуэт - это автомат
Если смотреть на цилиндр сбоку, то это прямоугольник, а если сверху- то круг. Я смотрю на ДРАКОН со стороны бывшего ассемблерщика :)

Автор:  Евгений Темиргалеев [ Суббота, 25 Апрель, 2009 21:31 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Из книги Вирта "Compiler Construction". Разбор EBNF рекурсивным спуском. Интересно получилось в виде силуэта.
Вложение:
ebnf.gif
ebnf.gif [ 22.55 КБ | Просмотров: 11521 ]

Делал один к одному, с двумя исключениями, в "процедуре" factor. Выбор вместо развилок и для ident/literal общий GetSym. Наверно, стоит как-то избавиться от повторяющихся икон для lparen/lbrak/lbrace, но не придумал как.

Тоже но с несколькими примитивами:
Вложение:
ebnf2.gif
ebnf2.gif [ 17.03 КБ | Просмотров: 11511 ]

Автор:  ==== [ Воскресенье, 26 Апрель, 2009 07:26 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Уважаемый Евгений Темиргалеев, разрешите сказать не о содержании здесь, а о форме.
1. В и.с. Drakon есть недоработка. Надо иконы "Заголовок" вручную сдвинуть вниз к верхней линии силуэта. Так же приходится сдвигать и иконы "Синхронизатор" и "Левый комментарий" вправо.
2. Надо выполнить "Обновить". Будет выполнено объединение линий в конструкции "Переключатель".
3. В схеме каждая ветка имеет заголовок, имеет только 1 выход на ветку "Done", в которой ничего не выполняется. Соответственно не логично использовать схему силуэт. Можно выполнить декомпозицию и заменить каждую ветку отдельной схемой примитив. При этом логика будет более ясной.

Автор:  Евгений Темиргалеев [ Воскресенье, 26 Апрель, 2009 09:31 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Спасибо, Геннадий, теперь схема смотрится лучше.
Геннадий Тышов писал(а):
В схеме каждая ветка имеет заголовок, имеет только 1 выход на ветку "Done", в которой ничего не выполняется.
Она означает что алгоритм закончен. Т.е. при отображении в код схема=процедура, это означает завершение процедуры.
Геннадий Тышов писал(а):
Соответственно не логично использовать схему силуэт. Можно выполнить декомпозицию и заменить каждую ветку отдельной схемой примитив.
Это было очевидно сразу. Много маленьких процедур - много схем-примитив.
Геннадий Тышов писал(а):
При этом логика будет более ясной.
Вопрос спорный. Специально попробовал силуэтом, т.к. мне кажется, что на одном листе один силуэт всегда яснее кучи примитивов.

P.S. Нарисую для сравнения...

P.P.S. Да, понятность зависит ещё и от расположения примитивов. Так как получилось - имхо с ними лучше... Комментируйте, интересно.

Автор:  Евгений Темиргалеев [ Вторник, 28 Апрель, 2009 00:44 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Пример на тему: viewtopic.php?f=7&t=1500&start=0.
Цикл дейкстры vs автомат:
viewtopic.php?p=28607#p28607
viewtopic.php?p=28640#p28640
Вложение:
cpuModel-mainLoop.png
cpuModel-mainLoop.png [ 11.17 КБ | Просмотров: 11911 ]

Автор:  ==== [ Вторник, 28 Апрель, 2009 20:46 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Пример Дракон-документа. Содержание - инструкция.
Руководство пользователь (в школе) по настройке Интернета без вызова администратора сети.
Вложение:
RukovInternet.drt

Вставить рисунок не смог, причина здесь.

Автор:  Евгений Темиргалеев [ Суббота, 16 Май, 2009 12:33 ]
Заголовок сообщения:  Re: Пример алгоритма на ДРАКОНе

Вопрос об изображении сложного алгоритма с параллельными процессами выделен в отдельную тему: viewtopic.php?f=62&t=1591

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