End Sub. Управляющая инструкция Do-Loop

Loop

End Sub

Loop

Управляющая инструкция Do-Loop

Комментарии в программе

Комментарий — это любые символы справа от апострофа ('). Их может быть много — целая строка кода, или несколько — в конце строки с командой. Если Вы предпочли второй вариант, выравнивайте их с помощью символов табуляции. Помните, что комментарии должны делать код более понятным, а не запутывать его.

Она похожа на инструкцию While-Wend, однако дополнительно обладает двумя важными особенностями.

Во-первых, условие завершения цикла Do-Loop можно задавать не только в его начале, но и в конце. Условие в конце цикла гарантирует, что он будет выполнен хотя бы один раз.

Во-вторых, условие можно сделать критерием как выполнения цикла Do-Loop, так и его завершения. Последняя возможность в цикле While- Wend также доступна — чтобы цикл выполнялся, пока не соблюдено некоторое условие, его надо указать в инструкции While с логическим оператором Not.

Рассмотрим несколько простых примеров. В программе WhileWend инструкция While-Wend применялась для определения момента, когда в последовательности случайных чисел появлялась семерка. В DoWhileLoop та же операция осуществляется циклом Do-Loop.

Sub DoWhileLoop()

Dim LotteryEntry As Integer

LotteryEntry = 0

Do While LotteryEntry <> 7

LotteryEntry = Int(10 * Rnd())

Beep

MsgBox "Выпал номер " & LotteryEntry & ". Вы выиграли!!"

Как видите, эта программа мало отличается от программы WhileWend: во-первых, перед ключевым словом While появилось слово Do, во-вторых, в конце цикла вместо Wend стоит Loop. Однако цикл Do - Loop позволяет переписать эту процедуру еще несколькими способами. В следующем примере слово While заменено словом Until, а вместо оператора неравенства в сравнении LotteryEntry и 7 задан оператор равенства.

Sub DoUntilLoop()

Dim LotteryEntry и

LotteryEntry = 0

Do Until LotteryEntry = 7

LotteryEntry = Int(10 * Rnd())

Beep

MsgBox "Выпал номер " & LotteryEntry & ". Вы выиграли!"

Цикл Do-Loop позволяет внести в эту процедуру еще несколько изменений. Например, в программе DoLoopUntil ключевое слово Do оставлено в начале цикла, а условие завершения и ключевое слово Until переместились в его конец, за ключевое слово Loop. В таком варианте цикл обязательно выполняется хотя бы один раз, поскольку условие завершения не проверяется, пока не будут выполнены все инструкции из тела цикла. Поэтому мы можем удалить инструкцию для инициализации переменной LotteryEntry.

Sub DoLoopUntil()

Dim LotteryEntry As Integer


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: