DRAKON.SU

Текущее время: Воскресенье, 25 Июль, 2021 20:04

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 15 Октябрь, 2009 10:34 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5206
Откуда: Москва
Привожу пример реальной дракон-схемы.
Схема занимает 5 листов формата А1.
Мысленно расположите листы по горизонтали (в цепочку)
слева направо.
Пронумеруйте листы 1, 2, 3, 4, 5.
Для увеличения листов используйте "лупу" со знаком +

http://store.oberoncore.ru/lib/image/drakon/list1.png
http://store.oberoncore.ru/lib/image/drakon/list2.png
http://store.oberoncore.ru/lib/image/drakon/list3.png
http://store.oberoncore.ru/lib/image/drakon/list4.png
http://store.oberoncore.ru/lib/image/drakon/list5.png

Обратите внимание на следующее:

1.На 1-м листе в первой ветке расположен комментарий.
В нем описан смысл всей дракон-схемы, то есть смысл всех
пяти листов. Этот комментарий называтся "стратегический
комментарий". Он дает общую картину (в отличие от
локального комментария, который объясняет какую-нибудь
мелкую деталь).

2. Все 5 листов соединены эргономическими соединителями.
(Понятие " соединитель" пояснено тут):
viewtopic.php?f=62&t=1917

3. Дракон-схема из 5 листов содержит 18 веток, разделенных
ритмическими полосами.

4. Перечень всех 18 веток.
Лист 1.

        ОПИСАНИЕ.ЗАДАЧИ........... (ветка 1)
        ВЫБОР.КОДА.РЕЖИМА....... (ветка 2)
        ПОДГОТОВКА.СУ.К.ПВ........ (ветка 3)
        ИСХОДНОЕ.СК ................. (ветка 4)
        КОНТРОЛЬ.ФИДЕРА.ПЗ .......(ветка 5)

Лист 2

        ВКЛЮЧЕНИЕ ШИНЫ.АУ2 ...... (ветка 6)
        ВКЛЮЧЕНИЕ.ИП1 .............. (ветка 7)
        ВКЛЮЧЕНИЕ.ИП2 .............. (ветка 8)
        ВКЛ.БОРТ.ПИТАНИЯ .......... (ветка 9)
        ВКЛЮЧЕНИЕ.БЦВК ........... .(ветка 10)

Лист 3

        ЗАГРУЗКА.БЦВМ ............... (ветка 11)
        ЗАГРУЗКА.КР.В.БЦВМ ..........(ветка 12)
        ГОТОВНОСТЬ.СУ ................(ветка 13)

Лист 4

        ПВ.БЦВК...........................(ветка 14)
        ДИАЛОГ.НАЧАЛО.................(ветка 15)
        ДИАЛОГ.ПРОДОЛЖЕНИЕ........(ветка 16)

Лист 5

        ДИАЛОГ.КОНЕЦ..................(ветка 17)
        ЗАВЕРШЕНИЕ....................(ветка 18)

5. Описание цикла ДЛЯ на листах 4 и 5.
Цикл ДЛЯ занимает три ветки:

        ДИАЛОГ.НАЧАЛО (ветка 15)
        ДИАЛОГ.ПРОДОЛЖЕНИЕ (ветка 16)
        ДИАЛОГ.КОНЕЦ (ветка 17)

6. Правило. Если цикл ДЛЯ занимает две или более веток, то цикл ДЛЯ
должен быть обрамлен веточным циклом.
        6.1. Икона "Начало цикла ДЛЯ" размещается сразу под иконой
        "имя ветки", обозначающей начало веточного цикла.
        6.2. Икона "Конец цикла ДЛЯ" размещается перед иконой "адрес"
        обозначающей конец веточного цикла.
        6.3. В иконе "имя ветки",обозначающей начало веточного цикла, в данном
        случае написано ДИАЛОГ.НАЧАЛО,
        6.4. В иконе "адрес",обозначающей конец веточного цикла, в данном
        случае написано ДИАЛОГ.КОНЕЦ,

7. Пояснение. Цикл ДЛЯ может быть длинным. Он может не поместиться
в одну ветку (и даже в две ветки). В этом случае иконы "Начало цикла
ДЛЯ" и "Конец цикла ДЛЯ" могут оказаться в разных ветках
(см. пункты 6.1 и 6.2).

Наталья Александровна Волкова! Посмотрите также темы
viewtopic.php?f=62&t=1781
viewtopic.php?f=62&t=1917
viewtopic.php?f=62&t=1878


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 16 Октябрь, 2009 20:57 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В.Д., у меня вопрос.

При цикле FOR в нескольких ветках, куда передается управление из иконы "Конец FOR" после завершения последней итерации?

Ведь за ней находится икона "Адрес" с передачей управления на ветку с иконой "Начало FOR", т.е. цикл FOR находится внутри веточного цикла.
Нужен ли цикл FOR, ведь работает веточный цикл?
Или цикл FOR нужен только для наличия переменной цикла?
Выход из цикла возможен только по иконе "Вопрос" через заземленную лианы на внешнею ветку и невозможен при завершению всех итераций.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 10:25 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5206
Откуда: Москва
Г.Н., Вы правы, здесь вкралась ошибка.
Исправление ошибки требует обдумывания.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 11:37 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В.Д., у меня 2-й вопрос.

В циклах "ЖДАТЬ" в иконах "Период" не указано время. Что это обозначает?
Не используется система реального времени, и частота опроса иконы "Вопрос" определяется тактовой частой процессора, в периоде ожидания процессор не используется для другой обработки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 13:30 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5206
Откуда: Москва
Ответ дан в книге "Как улучшить работу ума..." на стр.170, 171, а точнее в последнем
абзаце параграфа ОПЕРАТОР "ПЕРИОД"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 14:15 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В.Д., спасибо, прочитал.

В.Д., Вы употребили термин "оператор", и он у вас чаще встречается в "Глава 11: Визуальные операторы реального времени". Возможно он более адекватный чем термин "икона", и он более традиционный для различных языков.

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

В.Д., Вы в других главах практически не употребляете термин "оператор".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 17:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Имхо, однозначно не "икона".

И, возможно, как раз "оператор" :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Октябрь, 2009 21:02 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Или макроблок? Оператор один, а дракон язык сверхвысокого уровня, в одной иконке реально может содержаться много операторов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 09:49 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Значок? (с толерантностью - порядок, да и толмачам проще будет :) )

"Оператор" и "макро.." - уж очень предметно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 18:44 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Оператор, оператор!
"Значок" не несёт вообще никакой смысловой нагрузки, а здесь имеет место действие. Поэтому оператор!
"Макро" имеет смысл только в контексте конкретного набора типовых элементов, более того, указывает на конкретную реализацию кодогенератора или другой исполняющей системы.
Оператор по смыслу ближе всего.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 20:02 

Зарегистрирован: Понедельник, 02 Июнь, 2008 19:35
Сообщения: 3
Может тогда уж лучше инструкция или команда. Оператор это скорее отображение, чем команда.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 20:03 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Alexey_Donskoy писал(а):
.."Значок" не несёт вообще никакой смысловой нагрузки..
Зато сразу обращает внимание на визуальный аспект. Называть прямоугольник оператором, по-моему, не стОит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 20:24 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Ну, я не математик, понятие "опреатор" я воспринимаю как "оператор языка". А какой язык - визуальный или текстовый, безразлично. Главное, что императивный.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 21:26 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 56
Откуда: Узбекистан, Чирчик
Назовите блок (кода, операторов), как в Аде...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Октябрь, 2009 21:57 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Можно и блок.
Только всё равно же язык из операторов состоит, разве не так? :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 24 Октябрь, 2009 16:02 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Здесь
Цитата:
6. Правило. Если цикл ДЛЯ занимает две или более веток, то цикл ДЛЯ
должен быть обрамлен веточным циклом.
Владимир Паронджанов писал(а):
Г.Н., Вы правы, здесь вкралась ошибка.
Исправление ошибки требует обдумывания.

Владимир Даниелович, http://forum.oberoncore.ru/viewtopic.php?p=34024#p34024, проблемы, не с этой ошибкой связаны?

Как решается вопрос "Цикл ДЛЯ в нескольких ветках" в части рекомендаций?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 25 Октябрь, 2009 07:45 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Тогда можно назвать "графема" (графический блок)

P.S. Также привожу пример полностью написанной программы интеллектуального датчика на микроконтроллере. Слово "интеллектуальный" обозначает просто коррекцию систематической погрешности.
В 1-м файле собственно алгоритм коррекции. В 2-м математическая библиотечка.
Если писать код на Си то достаточно первого листа. Однако, из-за использования устаревшего микроконтроллера с малым объемом памяти без встроенной математики пришлось писать на асме. В итоге код программы занял около 9 страниц.


Вложения:
sens.drt [11.9 КБ]
Скачиваний: 730
matem.drt [8.71 КБ]
Скачиваний: 661
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 25 Октябрь, 2009 10:59 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5206
Откуда: Москва
Геннадий Тышов писал(а):
Здесь
Цитата:
6. Правило. Если цикл ДЛЯ занимает две или более веток,
то цикл ДЛЯ должен быть обрамлен веточным циклом.

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


Владимир Даниелович, Как решается вопрос "Цикл ДЛЯ
в нескольких ветках" в части рекомендаций?


Ответ

1. Цикл ДЛЯ может быть длинным и занимать несколько веток.

2. Трудность в том, что две иконы "Начало цикля ДЛЯ" и
"Конец цикла ДЛЯ" находятся не рядом, а далеко друг
от друга.

3. Это плохо. Это неудобно. Это значит, что цикл ДЛЯ
как единый визуальный объект становится трудноразличимым.

4. Глазу трудно увидеть цикл ДЛЯ, потому что он находится
в разных ветках.

5. Надо помочь глазу. Надо сделать так, чтобы цикл ДЛЯ
стал более заметным для глаза.

6.Чтобы сделать цикл ДЛЯ более заметным, применяется
специальный прием, а именно:
Цикл ДЛЯ должен быть обрамлен веточным циклом.

7. Веточный цикл имеет черные треугольники. Эти треугольники
очень хорошо видны.

8. Хитрость вот в чем. Глаз легко замечает черные треугольники.
А теперь -- внимание! Рядом с черными треугольниками рас-
положены две иконы "Начало цикла ДЛЯ" и "Конец цикла ДЛЯ".

9. Вопрос. Зачем нужны черные треугольники в веточном цикле?
Ответ. В данном случае они играют роль УКАЗАТЕЛЕЙ, которые
"показывают пальцем" на НАЧАЛО и КОНЕЦ цикла ДЛЯ.

СЛЕДУЮЩИЙ ВОПРОС: В ЧЕМ СУТЬ ОШИБКИ,
КОТОРУЮ ЗАМЕТИЛ ТЫШОВ?


Геннадий Тышов писал:

Цитата:
В.Д., у меня вопрос.

При цикле FOR в нескольких ветках, куда передается
управление из иконы "Конец FOR" после завершения
последней итерации?

Ведь за ней находится икона "Адрес" с передачей
управления на ветку с иконой "Начало FOR", т.е. цикл FOR
находится внутри веточного цикла.


Ответ Как исправить ошибку?

1. Смотри рис. внизу.

2. После иконы "Конец цикла ДЛЯ" вставляется икона вопрос.

3. После окончания цикла ДЛЯ икона вопрос изменяет путь
(выходим направо через да) и входим в икону адрес
"Завершение" и т. д.

4.Не забудьте: Надо заблаговременно инициализировать идентификатор
в иконе вопрос.


Вложения:
.ошибки.png
.ошибки.png [ 19.81 КБ | Просмотров: 18718 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 25 Октябрь, 2009 12:52 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В.Д., спасибо за ответ.

Извините, но я нахожу его не удовлетворительным, т.к. нарушается формализм языка Дракон.
В ответе предлагается использовать веточный цикл там, где он не требуется, в целях наглядности :
Цитата:
6.Чтобы сделать цикл ДЛЯ более заметным, применяется специальный прием, а именно:
Цикл ДЛЯ должен быть обрамлен веточным циклом.

7. Веточный цикл имеет черные треугольники. Эти треугольники очень хорошо видны.

8. Хитрость вот в чем. Глаз легко замечает черные треугольники. А теперь -- внимание! Рядом с черными треугольниками расположены две иконы "Начало цикла ДЛЯ" и "Конец цикла ДЛЯ".

9. Вопрос. Зачем нужны черные треугольники в веточном цикле?
Ответ. В данном случае они играют роль УКАЗАТЕЛЕЙ, которые "показывают пальцем" на НАЧАЛО и КОНЕЦ цикла ДЛЯ.

Так как веточный цикл для алгоритма не требуется, то он и не должен использоваться.
Организация дополнительного выхода из веточного цикла и наличие переменной усложнит алгоритм и снизит наглядность его отображения.

Для наглядности достаточно соседства икон "Имя ветки" и "цикл ДЛЯ начало", "цикл ДЛЯ конец" и "Адрес". Так же, можно поставить иконы "Правый комментарий" к иконам начала и конца цикла ДЛЯ.
Так как разнесение цикла ДЛЯ в соседние ветки возможно, то в описание языка Дракон можно добавить указание "В ветки содержащие цикл ДЛЯ (за исключением c иконой начало цикла ДЛЯ) не должно передаваться управление из других веток".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 25 Октябрь, 2009 22:28 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Здесь
and007 писал(а):
Также привожу пример полностью написанной программы интеллектуального датчика на микроконтроллере.
Всё интересно.

Обратите внимание на схему "Фоновый вывод в UART".
Вывод битов должен быть в цикле. Необходимо преобразовать развилку в цикл и инициализировать переменную "count_bit=0".

Обратите так же внимание на схему "Основная программа".
Необходимо организовать по байтную передачу телеметрии из 10 байтов в в схему "Фоновый вывод в UART".

Обратите так же внимание на схему "Формула".
Наблюдается использование идентификаторов "JJ" и "J", скорее всего это одна переменная.


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

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


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

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


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

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