Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

WHILE


Итеративный оператор While обеспечивает повторение группы выражение, пока верно условное логическое выражение. Условие в цикле WHILE проверяется до начала цикла.
Синтаксис:
WHILE <условное_логическое_выражение> DO
<выражения - тело цикла>
END_WHILE;
Алгоритм выполнения:
  • Проверяется условное логическое выражение.
  • Если условие ложно, выполнение оператора завершается.
  • Если условие верно, выполняется тело цикла.
  • Вышеуказанные этапы выполняются циклически, пока условное выражение верно.
При использовании цикла While необходимо предусмотреть ситуацию выхода из цикла, в которой результат условного логического выражения ложен. Если логическое выражение всегда верно (TRUE), тело цикла выполняется бесконечно, что приведет к аварийной остановке приложения. Если логическое выражение изначально ложно (FALSE), тело цикла не выполняется ни разу.
Изменение состояния входных переменных не может быть использовано для описания условия оператора REPEAT, так как в синхронной исполнительной системе Unimod PRO 2 поток приложения будет заблокирован до окончания выполнения оператора REPEAT, а входные переменные до его завершения не смогут обновиться.  Игнорирование данного требования может привести к зацикливанию и зависанию приложения.
Пример:
i := 100;
var := 0;
//цикл выполнится 8 раз, выход произойдет при условии 10 < 10 = false
//после завершения оператора переменная var=8
WHILE i > 10 DO
var :=var + 1;
i := i -10;
END_WHILE;