Язык процедур 2-REXX для OS-2


Условные циклы


Условные циклы выполняются до тех пор, пока удовлетворяется условие истинности или ложности некоторого выражения. Рассмотрим несколько инструкций, которые используются для условных циклов:

DO WHILE и DO UNTIL - Инструкции DO WHILE и DO UNTIL выполняются, пока удовлетворяется некоторое условие или до тех пор, пока оно не удовлетворится. Инструкция DO WHILE имеет следующую структуру:

DO WHILE выражение инструкция1 инструкция2 инструкция3 END

Инструкция DO WHILE проверяет истинность или ложность некоторого выражения в начале цикла; т.е. перед выполнением последующих инструкций. Если выражение является истинным, то инструкции выполняются. Если выражение является ложным, то цикл завершается и управление передается инструкции, следующей за END.

На диаграмме, приведенной ниже, представлена наглядная структура инструкции DO WHILE:

Чтобы просмотреть примеры использования инструкции DO WHILE в процедурах, выберите =>.

DO UNTIL - Инструкция DO UNTIL отличается от DO WHILE тем, что она сначала выполняет инструкции, образующие тело цикла, а затем проверяет значение выражения. Если выражение ложно, то инструкции повторяются (в цикле). Если выражение истинно, то цикл завершается и управление передается инструкции, следующей за END.

Так как инструкция DO UNTIL проверяет значение выражения в конце цикла, инструкции внутри цикла DO выполняются по крайней мере один раз.

Инструкция DO UNTIL имеет следующую структуру:

DO UNTIL выражение инструкция1 инструкция2 инструкция3

END

На диаграмме, приведенной ниже, представлена наглядная структура инструкции DO UNTIL:

Чтобы просмотреть примеры использования инструкции DO UNTIL в процедурах, выберите =>.

LEAVE - Вам может понадобиться выйти из цикла до того, как он завершится естественным образом по удовлетворении некоторого условия. Вы можете сделать это с помощью инструкции LEAVE. Эта инструкция завершает цикл, и управление передается инструкции, следующей за END. Проиллюстрируем на примере процедуры LEAVE.CMD использование инструкции LEAVE.




- Начало -  - Назад -  - Вперед -