Do
Do
Loop
Loop
Wend
Работа цикла While...Wend начинается с расчета значения логического выражения условие. Если условие = False, то работа цикла прекращается и осуществляется переход на оператор, расположенный после ключевого слова
Wend. Если условие = True, то выполняются оператор (блок операторов). После этого опять рассчитывается значение логического выражения условие, и т. д.
Операторы цикла Do...Loop, как и цикл While...Wend, применяется, когда число выполнений операторов цикла заранее неизвестно. Существует четыре разновидности данной конструкции.
Первой разновидностью конструкции Do...Loop является цикл
Do While...Loop, имеющий следующий синтаксис:
Do While условие
оператор (блок операторов)
Работа цикла Do While...Loop начинается с расчета значения логического выражения условие. Если условие = False, то работа цикла прекращается и осуществляется переход на оператор, расположенный после ключевого слова Loop. Если условие = True, то выполняются оператор (блок операторов). После этого опять рассчитывается значение логического выражения условие и т. д.
|
|
Цикл Do While...Loop эквивалентен рассмотренному ранее циклу While...Wend.
Вторая разновидность конструкции Do...Loop – цикл Do Until...Loop. Синтаксис этого цикла:
Do Until условие
оператор (блок операторов)
Работа цикла Do Until...Loop начинается с расчета значения логического выражения условие. Если условие = True, то работа цикла прекращается и осуществляется переход на оператор, расположенный после ключевого слова Loop. Если условие = False, то выполняются оператор (блок операторов). После этого опять рассчитывается значение логического выражения условие и т.д.
Видно, что в циклах Do While...Loop и Do Until...Loop существует ситуация, когда операторы цикла не выполняются ни разу, т. к. условие окончания цикла проверяется перед выполнением этих операторов.
Третья разновидность конструкции Do...Loop — цикл Do...Loop While – имеет синтаксис
оператор (блок операторов)
Loop While условие
Работа цикла Do...Loop While начинается с выполнения оператор (блок операторов). После этого рассчитывается значение логического выражения условие. Если условие = False, то работа цикла прекращается. В противном случае опять выполняются операторы цикла и т. д.
Четвертая разновидность конструкции Do...Loop – цикл Do...Loop Until – имеет синтаксис
оператор (блок операторов)
Loop Until условие
Работа цикла Do...Loop Until начинается с выполнения оператор (блок операторов). После этого рассчитывается значение логического выражения условие. Если условие = True, то работа цикла прекращается. В противном случае опять выполняются операторы цикла и т. д.
Видно, что в последних двух разновидностях цикла Do... Loop (Do...Loop While и Do...Loop Until) оператор (блок операторов) хотя бы один раз обязательно выполняются, т. к. условие окончания цикла проверяется после выполнения этих операторов.
|
|
Внутри цикла Do...Loop может находиться оператор Exit Do, предназначенный для досрочного выхода из цикла. Употребляется этот оператор так же, как Exit For в цикле For...Next – входит в состав условного оператора.
Структуры Do While...Loop и Do Until...Loop относят к "циклам с предусловием", а Do...Loop While и Do...Loop Until – к "циклам с постусловием".