REPEAT
Итеративный оператор REPEAT обеспечивает выполнение группы выражений, пока верно условное логическое выражение. Выражения в теле цикла выполняются циклически, пока условие истинно (TRUE). Если условие ложно, выполнение оператора прекращается. При этом тело цикла выполняется минимум один раз, так как условие выхода проверяется в конце цикла.
Синтаксис:
REPEAT
<выражения — тело цикла >
UNTIL <условное_логическое_выражение>
END_REPEAT;
|
Алгоритм выполнения:
-
Выполняются выражения в теле цикла.
-
Проверяется условное логическое выражение.
-
Если условие ложно, выполнение оператора прекращается.
-
Если условие истинно, снова выполняется тело цикла.
-
Оператор продолжает выполняться циклически, пока условие не станет ложным.
Изменение состояния входных переменных не может быть использовано для описания условия оператора REPEAT, так как в синхронной исполнительной системе Unimod PRO 2 поток приложения будет заблокирован до окончания выполнения оператора REPEAT, а входные переменные до его завершения не смогут обновиться. Игнорирование данного требования может привести к зацикливанию и зависанию приложения.
|
Пример:
i:=0;
//цикл выполняется 5 раз, выход произойдет при условии 6 <= 5 = false,
//после завершения оператора i=6
REPEAT
i := i + 1;
UNTIL ( i<=5 )
END_REPEAT;
|
