DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 17:36

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




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Программируем с и.с. Drakon
СообщениеДобавлено: Суббота, 12 Февраль, 2011 19:47 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Февраль, 2011 20:05 

Зарегистрирован: Четверг, 06 Январь, 2011 15:45
Сообщения: 54
Владимир Паронджанов писал(а):
Уважамый Сергей Ефанов!
Пожалуйста, высказывайте Ваши предложения ПОДРОБНО, В ЯВНОМ ВИДЕ,
желательно в виде пронумерованных пунктов.
Владимир Паронджанов
Хорошо, попробую. Суть проблемы, которую я проиллюстрировал дракон-схемой "Работа над проектом" в следующем: по мере увеличения количества листов в проекте, всё больше усилий тратится на трансляцию дракон-схем в текст программы. Сейчас у меня в проекте 20 листов. Периодически нужно транслировать все схемы в текст программы. Приходится 20 раз, на каждом листе, повторять одинаковую последовательность действий по сборке текста и его сохранению. (Около 10 щелчков мыши на лист. Для всего проекта - около 200. Раз 10 в день, или больше... ). При этом имена файлов для сохранения нужно подставлять вручную. Что требует повышенного внимания, и чревато ошибками. В тоже время, мне представляется вполне возможным автоматизировать эту процедуру. Что бы редактор, по нажатию некой кнопки, автоматически, для каждой иконы "сборка текста", выполнял сборку текста, и записывал его в файл. Имя файла можно хранить, например, в имени иконы "Сборка текста", как я это сейчас у себя делаю. Нужно сказать, что в дракон редакторе уже реализован иной принцип работы над проектом, но он оказался для меня неудобным. Дело в том, что если сохранить весь транслированный текст в один файл (как это предлагает "Модуль"), то с таким мега-файлом практически невозможно будет вести дальнейшую отладку "в железе".
Ефанов Сергей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программируем с и.с. Drakon
СообщениеДобавлено: Вторник, 15 Февраль, 2011 20:08 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Далее см. сообщение Сергея Ефанова
viewtopic.php?p=59959#p59959
и шесть следующих за ним сообщений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программируем с и.с. Drakon
СообщениеДобавлено: Четверг, 24 Февраль, 2011 22:01 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Сергей Ефанов здесь привел пример преобразования дракон-схемы "Головное меню_1" в набор дракон-схем-вставок "Головное меню_2" и их программирование.

Просмотрел обе схемы и свои замечания разместил в них в управленческих примечаниях.
Для просмотра замечаний следует использовать в меню пункт "Найти / Упр. и алг. прил-я с текстом на листе".

Вложение:
Главное меню_1.drt
Вложение:
Главное меню_2.drt

По поводу преобразования схемы "Главное меню_1" в схему "Главное меню_2" следующее замечание:
Цитата:
Дракон-схему "Силуэт" не следует разделять по веткам на отдельные схемы.

В.Д. Паронджанов рекомендует использовать большую дракон-схему "Силуэт" без декомпозиции на отдельные схемы.

Сергей, вы конечно хорошо освоили принципы формирования кода конечного автомата, и подошли творчески к использованию средств ИС Дракон. Даже вместо процедур создали прием программирования вставок.

При этом отошли от стандартной модели формирования програмного кода.

Ветки заменили на отдельные схемы, т.к. каждая схема вызывается только из одного места, то вызовы процедур и возврат из них заменили своими переходами goto и своими метками, взяли на себя функции транслятора.

Использовали то, что программный код схемы (3-й квадрат в верхнем левом углу схемы) состоит из начальных и конечных частей, собрали линией сборки текста последовательно несколько схем, на стыках схем их начальные и конечные части оставили пустыми. Таким образом конечные автоматы объединились в единый автомат.

Визуальный алгоритм не стал нагляднее, нарущена целостность. Ветку с двумя выходами пришлось объединить в одной схеме с другой веткой, т.е. вместо декомпозиции произощло объединение разнофункциональных схем.

Мое мнение, так не следует преобразовывать схему "Силуэт", использовать прием программирования вставок вместо процедур не является оправданным.

Извините за отрицательную оценку, ваш опыт программирования с использованием различных приемов позволил сделать некоторые выводы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программируем с и.с. Drakon
СообщениеДобавлено: Пятница, 25 Февраль, 2011 01:33 

Зарегистрирован: Четверг, 06 Январь, 2011 15:45
Сообщения: 54
Геннадий Тышов писал(а):
Сергей Ефанов здесь привел пример преобразования дракон-схемы "Головное меню_1" в набор дракон-схем-вставок "Головное меню_2" и их программирование.

Просмотрел обе схемы и свои замечания разместил в них в управленческих примечаниях.
По поводу замечаний к первой схеме. Дело в том, что приведённая Дракон-схема транслируется в функцию, которая является членом класса. Поэтому некоторые переменные используются и устанавливаются другими членами класса.

А вот замечания ко второй схеме - гораздо более интересны и важны.
Цитата:
В.Д. Паронджанов рекомендует использовать большую дракон-схему "Силуэт" без декомпозиции на отдельные схемы.
Да, это так. Но, пока монитор не имеет размера стола, а принтер не позволяет печатать листы А1, декомпозиция будет нужна. И даже когда мониторы будут размером со стол, а принтер будет печатать А0 - она будет тоже нужна. Вопрос в том, какой размер/сложность одного листа приемлем - не имеет однозначного ответа. Я пробую и так,и эдак - ищу, что будет мне удобнее.
Цитата:
вместо процедур создали прием программирования вставок.

При этом отошли от стандартной модели формирования програмного кода.

Ветки заменили на отдельные схемы, т.к. каждая схема вызывается только из одного места, то вызовы процедур и возврат из них заменили своими переходами goto и своими метками, взяли на себя функции транслятора.
Причина применения goto не в том, что вставки вызываются из одного места. Я не могу использовать вызовы функций, если в них требуется возврат управления в RTOS. Это ограничение накладывает применённая в проекте примитивная RTOS (если её вообще можно так назвать).
Цитата:
Визуальный алгоритм не стал нагляднее, нарущена целостность. Ветку с двумя выходами пришлось объединить в одной схеме с другой веткой, т.е. вместо декомпозиции произощло объединение разнофункциональных схем.
Я попробовал. Результат мне и самому не кажется однозначным. С одной стороны - я добился того, чего хотел: любая часть целиком помещается на экране моего монитора. С другой стороны - что то потерял. Что больше - потерял или приобрел - пока не могу сказать. Выложенная схема "главного меню" - это было "учебно - тренировочное" упражнение. Я тогда взял уже готовую схему, и преобразовал её. Потом я попробовал в том же стиле сделать другую, новую схему. Мне кажется, эти приёмы помогли решить задачу. Если весь алгоритм "положить" на один лист, работать с ним станет намного сложнее (схема "Шина 1wire").
Цитата:
Мое мнение, так не следует преобразовывать схему "Силуэт", использовать прием программирования вставок вместо процедур не является оправданным.
Надеюсь, что я научусь лучшим образом производить декомпозицию. Одно мне ясно - нужен способ разбиения большой схемы на части. В. Паронджанов приводил где то на этом форуме примеры реальных Дракон-схем. Знаете, что меня в них поразило? Каждый лист содержал, ну очень малое количество икон! А выполнены они были в формате А1.
Цитата:
Извините за отрицательную оценку, ваш опыт программирования с использованием различных приемов позволил сделать некоторые выводы.
Ну что Вы, какие извинения! Ваш отзыв очень важен для меня, я не воспринимаю его как "отрицательный". Он - полезный!

Ефанов Сергей.


Вложения:
Главное меню_1 с ответами на замечания Тышова.drt [17.34 КБ]
Скачиваний: 593
Шина 1wire.drt [24.79 КБ]
Скачиваний: 586
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программируем с и.с. Drakon
СообщениеДобавлено: Вторник, 01 Март, 2011 13:55 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
efanov писал(а):
...Надеюсь, что я научусь лучшим образом производить декомпозицию. Одно мне ясно - нужен способ разбиения большой схемы на части. В. Паронджанов приводил где то на этом форуме примеры реальных Дракон-схем. Знаете, что меня в них поразило? Каждый лист содержал, ну очень малое количество икон! А выполнены они были в формате А1.
...
Вы имеете в виду уже "разрезание" содержимого диосцены (листа, экрана) физически - подобно тому, как предложено в правилах ДВ, ДЗ здесь? Или одновременно и логически - по принципу областей?


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

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


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

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


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

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