LKom писал(а):
Драконовский ОбычныйЦикл вообще же не является конструкцией цикла.
Не могу согласиться. Макроикона "Обычный цикл" содержит две валентные точки, из которых одна — критическая валентная точка. Заполните критическую валентную точку — и вы получите полноценный цикл.
LKom писал(а):
А. Донской дал исчерпывающий анализ:
http://forum.drakon.su/viewtopic.php?p=99403#p99403Alexey_Donskoy писал(а):
И да, я согласен с мыслью LKom о том, что цикл целесообразно оформлять специальной конструкцией, а не композицией простых элементов со стрелкой назад.
Не могу согласиться. Здесь нет композиции простых элементов. Здесь есть макроикона "Обычный цикл". Нельзя ее уродовать.
LKom писал(а):
Т.е., это фрагмент алгоритма зацикленный с помощью лианы пересаженной назад.
Это грубейшая ошибка. Стрелка цикла является частью макроиконы Обычный цикл. Стрелка цикла неприкосновенна. Ее нельзя отрывать и перетаскивать в другое место.
Стрелка цикла не является лианой.
Отрывая стрелку цикла от своего места, вы нарушаете главный принцип языка ДРАКОН — принцип доказательного программирования.
Вы нарушаете правила исчисления икон.
Подобное нарушение не дает никакой пользы, но приносит огромный вред
LKom писал(а):
В Драконе А. Бразовского нет операции вставить "Обычный цикл", имеется операция вставить "Вопрос". При этом предлагается лиану от правого выхода иконы Вопрос присоединить в выбранное место.
Я говорил Артему Бразовскому, что он допускает большую ошибку, так как грубо нарушает принцип доказательного программирования.
LKom писал(а):
В ИС Дракон ветвь от правого вывода иконы Вопрос можно пересадить и в зависимости от выбранного места присоединения возможно образование зацикленного фрагмента алгоритма.
Повторяю, так делать нельзя. Это ошибка. Недопустимо отрывать стрелку цикла от своего места.
LKom писал(а):
Владимир Даниелович,
не корректно говорить о том, что в приведенном Вами рисунке есть внутренний цикл. Лиану со 2-и стрелкой можно пересадить на нижний горизонтальный отрезок лианы от 1-й стрелки. В результате алгоритм не изменится, в рисунке будет одна стрелка, нижний горизонтальный отрезок будет горизонтальной линией объединения.
Имеет место та же самая ошибка. Стрелка цикла — это не лиана. Ее нельзя отрывать и пересаживать в другое место.
===================
Может создаться впечатление, что я говорю о большом числе ошибок, нарушающих правила языка ДРАКОН.
Это не так. Речь идет об одной-единственной ошибке.
Нельзя отрывать стрелку цикла от своего места (показанного в макроиконе "Обычный цикл").
Не портите макроикону Обычный цикл, не уродуйте ее — и все будет в порядке.
Ну и, конечно, надо строго соблюдать правила заполнения критических и нейтральных валентных точек.