DRAKON.SU

Текущее время: Четверг, 26 Декабрь, 2024 17:44

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




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Суббота, 25 Апрель, 2009 01:56 

Зарегистрирован: Вторник, 27 Май, 2008 13:24
Сообщения: 155
Ну, шаг от графического ассемблера (коим является силуэт) к графическому бейсику - уже прогресс :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Суббота, 25 Апрель, 2009 02:09 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Да не является он, не является :)

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


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

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Суббота, 25 Апрель, 2009 21:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Из книги Вирта "Compiler Construction". Разбор EBNF рекурсивным спуском. Интересно получилось в виде силуэта.
Вложение:
ebnf.gif
ebnf.gif [ 22.55 КБ | Просмотров: 12912 ]

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

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


Последний раз редактировалось Евгений Темиргалеев Воскресенье, 26 Апрель, 2009 10:04, всего редактировалось 2 раз(а).

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Воскресенье, 26 Апрель, 2009 09:31 
Модератор
Аватара пользователя

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Вторник, 28 Апрель, 2009 00:44 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Пример на тему: 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 КБ | Просмотров: 13302 ]


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

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Пример Дракон-документа. Содержание - инструкция.
Руководство пользователь (в школе) по настройке Интернета без вызова администратора сети.
Вложение:
RukovInternet.drt

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример алгоритма на ДРАКОНе
СообщениеДобавлено: Суббота, 16 Май, 2009 12:33 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Вопрос об изображении сложного алгоритма с параллельными процессами выделен в отдельную тему: viewtopic.php?f=62&t=1591


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4

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


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

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


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

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