Цикл WHILE

<< Click to Display Table of Contents >>

Navigation:  Проект > Скрипты > Язык ST > Операторы и Выражения в ST  > Итерация при помощи повторяющихся Циклов >

Цикл WHILE

Previous pageReturn to chapter overviewNext page

Данный цикл в отличие от FOR выполняется до тех пор, пока логическое выражение имеет значение ИСТИНА. Синтаксис циклов WHILE:

while (условное выражение){  

<команды>;

}

Между круглыми скобками () находится логическое выражение.  Если логическое выражение истинно, все выражения между скобками {} будут выполнены. При достижении }, логическое выражение будет вычисляться снова. Это будет происходить снова и снова, пока условное выражение не перестанет быть истинным. Чтобы сделать остановку цикла, вы должны изменить значение логического выражения с истинного на ложное. Пример цикла WHILE в Структурированном Тексте:

counter = 0;

while (counter < 10){

 counter = counter + 1;

 machine_status = counter * 10;

}

В третьей строке вы увидите, как цикл в конечном итоге перестанет выполняться. Логическое выражение использует переменную и проверяет счетчик, если его значение меньше или равно 10. Но так как значение счетчика устанавливается в 0 перед выполнением цикла, логическое выражение будет истинным, если счетчик не изменяется. В приведенном выше примере, цикл будет повторяться 10 раз. Когда значение счета достигает 10, логическое выражение будет вычисляться в ЛОЖЬ (потому что 10 не менее 10), и цикл остановится. Вы также можете использовать ключевое слово BREAK, тогда цикл может быть остановлен до перехода булевого выражения в ложно. Пример:

if (boolean expression) {

 break;

}