Илья Ермаков писал(а):
Контур наверх из точки А может быть замкнут только в ту точку, которая является доминатором для А
Насколько понимаю, это обеспечивает достаточность такой конфигурации для линейной текстовой записи с помощью набора структурных предложений. Необходимость же такого условия для плоской записи Дракон-схемы пока под сомнением. Не хотелось бы перетаскивать на Дракон-схемы все топологические ограничения, обнаруженные в результате работ по трансляции граф-схем в языки высокого уровня. Если дополнить правила графического структурирования Дракона математически обоснованными границами применимости топологий, то получится строгий вариант языка для проектирования программных систем. Рекомендательный характер только вызовет споры. А если обеспечивать трансляцию в код целевой платформы(или промежуточное бинарное представление), то не будет ни одного упрёка от GOTOфобов.[/quote]
Нет, это условие (контур наверх из точки А может быть замкнут только в ту точку, которая является доминатором для А) как раз уже двумерное, а не от текстовой записи.
Более того, это и есть основное мат. ограничение Дракон-топологии (
основное ограничение двумерного структурного программирования).
По поводу остальных мыслей - Вы совершенно правы.

===
По поводу того, что повторный вход в цикл с постусловием не нарушает инвариант - оно так.. Но это слишком частный случай (чтобы жертвовать ради него простым формальным ограничением, указанным выше). Фактически, получается что Вы используете в качестве тела цикла некий другой фрагмент, который является "проходным двором" (другие маршруты через него тоже проходят). Лучше задублировать этот фрагмент отдельно, только в тело цикла.
В таких случаях (дублирование в начале цикла) это и не является, на самом деле дублированием. Это вылезает, когда есть некое добавочное к циклу действие, которое, по чистой случайности, иногда совпадает с телом. Вот тут на эту тему излагалось уже -
viewtopic.php?p=28238#p28238