Я ща про себя поматерюсь, что мне вообще не свойственно... А потом скажу, хорошо?
Я не имею привычки что-то "подцеплять". Если я такое сказал, значит именно так я понимаю вопрос, на основе знаний (обычно некоей классики) и опыта (и рабочего, и преподавательского).

Про обратную связь - что Вас не устраивает в совершенно очевидном факте? Я просто не могу понять даже, что я должен отвечать на Вашу строгую претензиюМожет быть, стоит почитать первую главу из учебного курса Дейкстры, где самые азы детишкам на пальцах... Но с такой правильной расстановкой акцентов, которую нигде более я не видел:http://khpi-iip.mipk.kharkiv.edu/librar ... 316_2.html

По поводу итерационного решения. В любом присваивании внутри цикла переменная, стоящая слева, имеет смысл x _ i+1, а справа - x _ i. (а вне цикла вообще такая конструкция с одинаковой переменной и справа, и слева не имеет никакого смысла, она может возникнуть только из-за экономии переменных).

Таким образом, процесс выполнения WHILE порождает по каждой переменной последовательность значений, которые она принимает. Если в цикле изменяются несколько переменных, то можно говорить об одной "составной переменной" - векторе из значений всех переменных цикла. В итоге цикл порождает последовательность векторов. Единственное назначение цикла - достичь цели. Цель обычно осознаётся в виде логического предиката от этого самого вектора значений переменных - постусловие ("пост" - после окончания цикла). Сами значения  должны находится между собой в целостном соотношении - инварианте (тоже логич. предикат, понятное дело). Мы можем установить их в такое соотношение для некоторого простейшего случая (например, знаем, что факториал 0 = 1; т.е. i := 0; fi := 1). Далее мы строим такой шаг цикла, чтобы он продвигал вектор от одного состояния, удовлетворяющего инварианту, к другому. Это происходит подобным же образом, как численное решение уравнений методом итераций. Только тут уравнение - это целевой предикат. И, так же как и в методе итераций, самое главное - чтобы процесс сходился, от начального вектора к конечному, который и является нужным нам ответом.

Касательно так давшихся Вам стрелочек. При структурных (и драконовых) ограничениях на граф переходов стрелочки вообще можно не ставить, а оставить просто линии. И единственный их смысл будет - наложение (частичного) порядка на выполнение действий. Что за чем следует. Вот и всё, как просто. А каждой линии соответствует состояние системы между действиями. Которое может быть описано логическим утверждением, предикатом. (А операторы у Дейкстры рассматриваются как преобразователи предикатов, но это действительно более сложно и может быть оставлено "за бортом" для начала).

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