Циклы с логическим управлением повторениями While и Do

 

Для выполнения оператора For…Next необходимо задать параметры, которые будут определять, сколько раз должен выполниться оператор(ы) цикла. Альтернативой циклу с For…Next являются циклы While и Do , в котором группа операторов выполняется до тех пор, пока определённое логическое выражение имеет значение True (истина) или False (ложь). Такие циклы нужно применять в тех задачах, где мы не можем знать точно, сколько раз будет повторен цикл. Например, Вы хотели бы, чтобы пользователь вводил пароль в вашей программе до тех пор, пока он не совпадёт с ранее заданным паролем.

Наиболее простой конструкцией построения цикла является конструкция While…Wend. Также существует несколько разновидностей альтернативной конструкции – цикла Do, в зависимости от условий его выполнения. Конструкции циклов Do являются более универсальными и, соответственно, сложными.

9.1. Цикл While … Wend (цикл с предусловием)

Общий вид алгоритма конструкции цикла While … Wend представлен на рисунке.

Синтаксис операторов данного цикла:

 

While <лог. выражение>

P1

телоцикла

 

PN

Wend

 

 

Да Нет

 

 

В данном цикле сначала выполняется проверка выполнения логического выражения, при его выполнении – выполняется тело цикла. Затем – повторно проверка условия. Таким образом, цикл выполняется до тех пор, пока выполняется заданное логическое выражение. Если условие в заголовке цикла не является истинным с самого начала, цикл не выполняется ни разу.

 

Демонстрируется выполнение практического задания

 

9.2. Цикл Do While … Loop (цикл с предусловием)

Общий вид алгоритма конструкции аналогичен алгоритму цикла While.

Синтаксис оператора следующий:

 

Do {While | Until} <логическое выражение>

P1

P2

.

[Exit Do]

.

PN

Loop

 

где Do (выполнить), While (пока), Until (не раньше), Exit Do (выход из Do), Loop(петля) – зарезервированные слова, P1, P2, PN – операторы.

В данной конструкции требуется указание одного из ключевых слов: либо While, либо Until. При указании слова While – цикл выполняется до тех пор, пока условие истинно; смысл лова Until – цикл выполняется до тех пор, пока условие не станет истинным, то есть пока условие ложно.

Если логическое выражение после служебного слова While имеет значение True, то выполняются операторы P1, P2, PN , после чего проверка логического выражения повторяется. Если логическое выражение имеет значение False, то происходит выход из цикла. Если условие в заголовке цикла не является истинным с самого начала, цикл Do не выполняется ни разу.

 

9.3. Цикл Do … Loop While (цикл с постусловием)

В отличие от конструкции Do … Loop While, в которой проверка условия осуществляется вначале работы конструкции, конструкция Do … Loop While начинается с выполнения тела цикла, и только затем выполняется проверка условия. Поэтому цикл, организованный с помощью этого оператора, в любом случае выполнится хотя бы один раз.

В остальном данная конструкция аналогична конструкции Do While … Loop.

Общий вид алгоритма конструкции следующий:

P1

 

 

P2

 

 

Pn

 

 

Лог. выражение

 

Да Нет

 

 

Синтаксис оператора следующий:

 

Do

P1

P2

.

[Exit Do]

.

PN

Loop {While | Until} <логическое выражение>

 

Демонстрируется выполнение практического задания