DRAKON.SU

Текущее время: Понедельник, 29 Апрель, 2024 20:17

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
СообщениеДобавлено: Среда, 15 Декабрь, 2010 16:29 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Ильченко Эдуард писал(а):
Так что ВСТАВКА не всегда помогает.
А зачем там нужен цикл FOR? Напрашивается реализовать цикл с помощью веточного цикла.
В ветку "ПВ.БЦВК" в конец шампура вставляем икону "действие" (ПД5МД.S1 := 1) для инициализации ПД5МД.S1, икону начала цикла FOR (ПД5МД.S1 ОТ 1 ДО 100) просто убираем, вместо иконы конца цикла FOR (КОНЕЦ ЦИКЛА S1) ставим икону проверки условия (ПД5МД.S1 < 100) и по выходу "Да" действие (ПД5МД.S1 := ПД5МД.S1 + 1), а по выходу "Нет" действие (ПД5МД.S1 := 1).
Что-то подобное, выше, я уже показывал.
На мой взгляд, веточный цикл проигрывает в выразительности циклу FOR (конечно, для определённых случаев).
Вложение:
d1.png
d1.png [ 61.7 КБ | Просмотров: 7970 ]

А для вложенных циклов — проигрывает сильно.
Вложение:
d2.png
d2.png [ 68.56 КБ | Просмотров: 7970 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 15 Декабрь, 2010 16:51 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Да, выразительнее конечно...
А как в таком случае будет происходить редактирование схемы, в каких элементарных операциях это может выразиться? Вставкой заготовки "многоветочный цикл FOR"? :roll:


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
А как в таком случае будет происходить редактирование схемы, в каких элементарных операциях это может выразиться? Вставкой заготовки "многоветочный цикл FOR"? :roll:
Например, пересадкой иконы "Конец цикла FOR" на главный маршрут соответствующей ветки. Так сказать, метод Мичурина : )


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

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Так, теперь и пересадка икон уже будет? :D


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Так, теперь и пересадка икон уже будет? :D
Может быть Владимир Паронджанов подскажет как делать правильно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 15 Декабрь, 2010 18:57 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5852
Откуда: Москва
Драконограф писал(а):
Далее, Вы изложили решение - но не аргументацию, почему
считаете его [цикл for] нужным. Какова цель? Если сохранить совместимость
с ГОСТ на блок-схемы - то ведь шампур-метод идёт дальше ГОСТа...


Уважаемый Владислав Жаринов (Драконограф)!

Я опираюсь на следующие соображения.

:arrow: 1. Работники нашего Пилюгинского центра (непрограммисты, то есть
инженеры и комплексники) используют цикл ДЛЯ, в том числе занимающий
несколько веток.

Я не слышал от них никаких жалоб или замечаний по этому поводу.
Они все прекрасно понимают. Это для меня РЕШАЮЩИЙ аргумент.

Иными словами, я опираюсь на производственный опыт. На опыт
организации работы инженеров и комплексников, разрабатывающих
алгоритмы. Именно они, то есть люди, знающие физику процессов
(а не программисты) являются авторами алгоритмов.

В данном случае "алгоритм" это наш жаргон. На самом деле
инженеры разрабатывают не алгоритмы, а программы.
Эти программы в электронном виде передают в отдел программистов,
где их пропускают через транслятор, анализатор и т.д.

Но в нашей технологии из программ удалены почти все программистские
словечки. Так что эти программы представляют собой алгоритмы (наш жаргон)
"в чистом виде".

:arrow: 2. Я не всегда соглашаюсь с мнением этих людей (инженеров - разработчиков алгоритмов). Но для возражений у меня должна быть железная аргументация.

:arrow: 3. Если у меня нет веских возражений, я стараюсь учесть все
высказываемые инженерами пожелания. Считаю, что я обязан обеспечить
максимальные удобства для инженеров.

:arrow: 4. ГОСТ -- для меня не святыня. У меня всегда есть возможность
написать и утвердить руководящий документ, который будет иметь силу
ГОСТа. И нормоконтроль будет проверять документацию на соответствие
установленных мной (по согласованию со всеми заинтересованными
сторонами) правил.

:arrow: 5. Но на ровном месте я стараюсь (если это разумно) от ГОСТа
не отступать. Цикл ДЛЯ -- как раз такой пример.

:arrow: 6. В этой теме обсуждаются вопросы, которые частично выходят
за рамки моей уверенности и моих знаний.

:arrow: 7. Я бы сказал, что в этой теме ведется научно-исследовательская
работа. Высказан ряд интересных предложений. Все это трбует обдумыва-
ния.

:arrow: 8. Эдуард Ильченко задал вопрос:
Цитата:
Может быть Владимир Паронджанов подскажет как делать правильно

На этот вопрос я должен честно признаться: не знаю.

Как же быть? Мне кажется, надо искать решение сообща, в рамках коллективной
творческой дискуссии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 15 Декабрь, 2010 19:40 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Петр Приклонский писал(а):
Ильченко Эдуард писал(а):
Петр Приклонский писал(а):
...пользуюсь макроподстановкой через "ВСТАВКУ".

А как Вы изображаете подпрограммы?

Я работаю с и.с.DRAKON Г.Н. Тышова. Здесь введена диференциация процедура/функция.
Спасибо, понятно.


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

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В и.с. Drakon блок "Цикл ДЛЯ" является неделимой и локальной конструкцией. Этим обеспечивается логичность выполнения действий: "Удаление иконы", "Удаление шампур-блока", "Удаление ветки", тоже с копированием, вставкой и заменой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 16 Декабрь, 2010 08:01 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Владимир Паронджанов писал(а):
Драконограф писал(а):
Далее, Вы изложили решение - но не аргументацию, почему
считаете его [цикл for] нужным. Какова цель? Если сохранить совместимость
с ГОСТ на блок-схемы - то ведь шампур-метод идёт дальше ГОСТа...


Уважаемый Владислав Жаринов (Драконограф)!

Я опираюсь на следующие соображения.

:arrow: 1. Работники нашего Пилюгинского центра (непрограммисты, то есть
инженеры и комплексники) используют цикл ДЛЯ, в том числе занимающий
несколько веток.

Я не слышал от них никаких жалоб или замечаний по этому поводу.

Вот это как раз случай, когда видно, почему есть смысл: А) выделять язык и технологию формализации знаний в структуре МФЗ; Б) рассматривать "графит-метод".
Эдуард "графитно" объяснил всё за меня. Ваши ответы ему я также принимаю. И вот из них следует одна вещь - если многоветочный ДЛЯ допускаем, то должны ориентироваться не только на топологию схемы, но и на текст (в данном случае - на совпадение меток в вершинах-границах такого цикла). Т.е. у нас эти вершины становятся аналогами вершин-границ веток. И если Имя ветки не составляет пару следования с Началом ДЛЯ (между ними есть хотя бы одна вершина) - и/или то же имеет место с вершинами Конец ДЛЯ и Адрес ветки - то именно в этом случае можно говорить о передаче управления, минуя петлю силуэта. В противном случае, как я уже говорил, можно считать соответствующую пару икон "укрупнённым началом/концом ветки", одновременно начинающим/оканчивающим цикл. Но тогда тут справедливо повторяли - зачем такие сложности? Ведь можно использовать веточный цикл... который кроме того, исключает необходимость в зрительном поиске перехода сразу по двум категориям адресов - имён веток и имён переменных многоветочных ДЛЯ.
Далее, о вложенных циклах ДЛЯ. Представляется очевидным, что предлагаемые ограничения при многоветочности распространяются и на них. И возражения по "избыточной сложности" те же.

Итак, в разветвлённо-силуэтных диоформах задание структуры маршрутов принципиально не м.б. сведено только к графчасти (для линейных силуэтов это возможно, если следовать правилу порядка - напр. "чем правее, тем позже"). Нужен текст - и чем меньше такого текста будет, тем лучше для чтения.
Далее, техноязык в определении, допускающем многоветочный ДЛЯ в силуэте, позволяет выражать на нём циклы с параметром и так, и этак - и определение каждого случая становится уже задачей технологии. Имеется в виду, что можно визуализировать как через ДЛЯ, так и через многоветочный цикл - где уже будет явным и условие цикла, и адреса переходов. Но и здесь мы должны руководстваться удобством сочинения и чтения. Поэтому не следует и пытаться обозначать веточные циклы чисто графически - нужно явно различать их как однородные структурные образования, назначая им индексы (что и предложено в /Паронджанов, 2001, Рис.105...107/) - и отразить это в алфавите и правилах языка. Это та же самая минимально необходимая "графитизация" шампур-метода, что и идентификация веток.
Из сказанного также вытекает, что ограничения или запрет многоветочности цикла ДЛЯ нужно будет заложить в определение языка - чтобы не было противоречия с запретом передачи управления в силуэте, минуя его петлю.
А как работать в рамках, установленных определением языка - это уже описывается определением технологии его применения. Здесь м.б. и "проектные образцы", и примеры их использования для конкретных целей.

Если мы предполагаем применение техноязыка за пределами конкретной организации - то опыт только в её рамках не может быть решающим аргументом. Его следует рассматривать уже в рамках третьей части МФЗ - реализации - как особенность этой самой реализации конкретной человеко-машинной средой "Пилюгинский центр". Впрочем, Вы и уточнили в конце сообщения, что нужна дискуссия.

Свой взгляд на то, как поступать при визуализации сложных циклов с параметрами, я отразил в примерах - о преобразовании в обычные циклы в дракон-программе работы ДСК из этого примера и о приведении к ЦД в этом примере. Правильно это или нет в каких-то теоретических аспектах - можно обсуждать. Эргономически тем или иным людям может быть привычнее шапка-подвал цикла ДЛЯ - но это легко уравнивается введением формальных комментариев в тексты заменяющих их вершин (что используется в обоих примерах). А вот структура переходов без сокрытия условий циклов становится явной и поведение алгоритма легче прослеживается - или нет? ;)


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

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


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

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


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

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