|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
|
Обсуждение ИС Дракон28.01.2012, 19:20. Показов 1164635. Ответов 1644
Метки нет (Все метки)
Учитывая интерес (как собственный, так и сообщества) к данному средству, решил вынести в отдельную тему, т.к. вобсуждении статьи очень тяжело ориентироваться.
Цель - не только обсудить, но и в меру возможностей посодействовать развитию данного проекта. Задачи: 1. Создание актуальной и удобной справочной системы 2. Совершенствование кодогенератора, поддержка новых языков 3. Что-нибудь ещё придумаем по ходу :) ______________________________ Мои предложения по п.1: Организовать открытый проект на вики-системе, чтобы каждый мог легко внести свой посильный вклад в свободное время. Например, на викиучебниках (если там модеры не такие отмтроженные, как на педивикии) По п.2 пусть предлагают те, кому актуально *(ассемблисты, например). От себя бы предложил автору представить полную спецификацию формата хранения дракон-схем .drt, чтобы люди могли подключать к редактору собственные примочки (не только кодогенераторы, а и преобразователи, например, в .pdf, .doc итдитп.) В общем, как-то так.
1
|
|
| 28.01.2012, 19:20 | |
|
Ответы с готовыми решениями:
1644
Дракон на Андроиде
Тест: Какой вы дракон))) |
|
ifomov
|
||
| 04.02.2012, 15:23 | ||
|
||
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 04.02.2012, 16:23 | ||
А нельзя написать просто: // типа конец ? Вроде был уже вопрос, но повторюсь, т.к. в свое время не дошел до этого момента. Во многих иконах есть поля "приложение А" и Б. Опытным путем установлено, что в кодогенерации они не участвуют. Тогда для чего? Ещё заметил, что слева от икон можно ставить галочки. Зачем?
0
|
||
|
idm2007
|
||||||||
| 04.02.2012, 16:43 | ||||||||
|
||||||||
|
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
|
|||
| 04.02.2012, 17:12 | |||
На ваше усмотрение, пишите там выдержки из приказа на разработку, из технического задания, выдержки из налогового кодекса, свои замечания при отладке, т.е. это ваша записная книжка связанная с частями алгоритма. Туда же могут другие лица писать свои замечания, для себя или для вас.
Дракон может использоваться для алгоритма деятельности, можете помечать выполненные этапы, начальник может отметить что что требуется переделать. Установите для себя свои правила применения отметки. В контекстном меню схемы есть пункт "Удалить все метки", в меню "Найти" есть пункт "Найти иконы с метками".
0
|
|||
|
idm2007
|
||||||
| 04.02.2012, 23:01 | ||||||
|
Немного не в тему: посмотрел дизасм в студии, оператор return как и положено для прерываний как RETI а для функций RET. То бишь я могу в иконе "Конец" все же просто написать return;? Просто я совсем недавно разбираюсь с правильным Си для AVR. И в общем случае обработка выглядит как:
|
||||||
|
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
|
||
| 04.02.2012, 23:23 | ||
|
Не должно. Оператор return - штатный выход из функции. Компилятор должен его правильно обработать - он сам знает, какого типа функция и как из нее парвильно выйти (поставить RET, RETI или прыгнуть на общий для всех returnов хвост).
А вообще, размещать икону "конец" в середине кода - оригинально-с. P.S.
0
|
||
|
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
|
||
| 04.02.2012, 23:52 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
|
||
| 05.02.2012, 00:00 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 10
|
|
| 05.02.2012, 00:30 | |
|
Редактор с кодогенератором - маловато, чтобы называться ИС.
0
|
|
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 05.02.2012, 10:04 | ||
И можно даже не в конце, а хоть в самом начале. Например: if(something) // а не зря ли мы сюда вошли? return; // продолжаем дальше, если все нормально
0
|
||
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 05.02.2012, 10:33 | ||
Но вот как по мне, идеологически неверно преобразовывать "переключатель" в if-else-goto. Почему? Очень просто. Паронджанов в своей книге декларирует абсолютную тождественность графического и текстового описания алгоритма. То есть, полученный из дракон-схемы текст должен однозначно преобразовываться обратно в исходную схему. В случае switch-case это легко реализуемо. if-else преобразуется в лесенку развилок, что исказит исходную картинку. Да и оптимизируется switch местами гораздо лучше, превращаясь в таблицу переходов. Также, лично я бы преобразовывал ветки в do{}while(0), пусть даже с goto между ними. Это улучшает структуру текста и облегчает дальнейшую работу именно с текстом. И самое главное, что теоретически никаких препятствий для этого не вижу. Начало ветки сопроводить текстом "do{", а конец - "}while(0)", ничего больше не меняя.
0
|
||
|
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
|
||
| 05.02.2012, 10:47 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 05.02.2012, 10:58 | ||
Представим ситуацию парсинга какого-нибудь протокола и выбор одного из 100 последовательных вариантов. Один переход по вычисленному смещению значительно быстрее и компактнее, чем последовательный перебор 100 условий. Опять же, в случае switch() даже перебор условий может быть оптимизирован в симметричное дерево, значительно сократив количество развилок.
0
|
||
|
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
|
||
| 05.02.2012, 11:34 | ||
0
|
||
|
idm2007
|
||
| 05.02.2012, 14:35 | ||
|
Vko, MrYurom, спасибо за ответы.
Попробовал несколько return-ов поставить по условиям. Посмотрел асм, да, действительно все собралось на один RETI.
|
||
|
idm2007
|
|
| 05.02.2012, 18:24 | |
|
Хм, почему-то Дракон стал зависать при сохранении файлов проекта (не листа). И через меню "Программирование" и просто при нажатии F9. И даже при нажатии на четвертый квадратик иконы "Модуль" (чтобы просто посмотреть собраный код). Среда просто зависает и "Не отвечает". При повторном запуске слетает "Вид" (белый фон). Пробовал удалять папку программы и распаковывать снова.
UPD: Как я понял, это связано с тем что путь к программным файлам ведет в папку с проектом AVR Studyo 5. Я просто хотел чтобы при изменении схемы в Драконе, код в студии менялся автоматом... |
|
|
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 71
|
||||||
| 05.02.2012, 19:46 | ||||||
|
Здравствуйте!
Посмотрел ролики Сергея Ефанова, зацепило решил попробовать, поднял проект часов на МК Atmega-48 который и выкладываю здесь. Может кому поможет начать работать с данной средой. При написании возник вопрос если в цикле для есть условный переход,то код не собирается из-за, того что транслятор размещает метку в конце цикла для, может кто подскажет как устранить: пример:
http://**************************/download/file.php?id=8699&sid=dc7b58d869def5a0b4c 0251d9f208f9a
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 59
|
||
| 05.02.2012, 20:01 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 494
|
||
| 05.02.2012, 20:13 | ||
Не понял. Разве нельзя поместить метку перед концом цикла? Что надо устранить?
0
|
||
| 05.02.2012, 20:13 | |
|
Дракон, UML, LabVIEW
ИС Дракон. Вопрос - ответ. Фрактал Дракон Харьков-Хайтвея Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|