|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
|
Обсуждение ИС Дракон28.01.2012, 19:20. Показов 1162955. Ответов 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
ИС Дракон. Вопрос - ответ. Фрактал Дракон Харьков-Хайтвея Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|