Введение в информатику. Хамухин А.А. - 101 стр.

UptoLike

Составители: 

100
Следует особо отметить, что если неправильно задать условие выхода из цикла
(например, в приведенном выше примере: While L <>101, что никогда
недостижимо), то цикл может получиться бесконечным и остановить работу
программы придется прерыванием (одновременным нажатием клавиш Ctrl Pause).
3.10.5. Управляющая инструкция Do-Loop
Она похожа на инструкцию While-Wend, однако дополнительно обладает двумя
важными особенностями. Во-первых, условие завершения цикла Do-Loop можно
задавать не только в его начале, но и в конце. Условие в конце цикла гарантирует,
что он будет выполнен хотя бы один раз. Во-вторых, условие можно сделать
критерием как выполнения цикла Do-Loop, так и его завершения. Последняя
возможность в цикле While-Wend также доступна чтобы цикл выполнялся, пока не
соблюдено некоторое условие, его надо указать в инструкции While с логическим
оператором Not.
Рассмотрим несколько простых примеров. В программе Рrо31 инструкция
While-Wend применялась для определения момента, когда в последовательности
случайных чисел появлялась семерка. В Рro32 та же операция осуществляется
циклом Do-Loop.
Sub Pro32()
Dim L As Integer
L = 0
Do While L <> 7
L = Int(100 * Rnd())
Beep
Loop
MsgBox "Выпало число = " & L & ". Вы выиграли! (шутка)"
End Sub
Как видите, эта программа мало отличается от примера 31: во-первых, перед
ключевым словом While появилось слово Do, во-вторых, в конце цикла вместо Wend
стоит Loop. Но цикл Do-Loop позволяет переписать эту процедуру еще несколькими
способами. В примере 33 слово While заменено словом Until, а вместо оператора
неравенства в сравнении L и 7 задан оператор равенства.
Sub Pro33 ()
Dim L As Integer
L = 0
Do Until L = 7
L = Int(100 * Rnd())
Beep
Loop
MsgBox "Выпало число = " & L & ". Вы выиграли! (шутка)"
End Sub