![]() |
![]() |
![]() |
Неопределенные циклы выполняются в зависимости от условия. Если условие существования цикла в конце цикла - условие выхода из цикла, то такой цикл называется с постусловием. Цикл, может выполняться или нет в зависимости от результата, вычисляемого внутри цикла. Синтаксис записи оператора цикла с постусловием следующий:
Do
<Тело цикла>
Loop Until <Условие>
Условие проверяется после того, как операторы, входящие в цикл, будут выполнены хотя бы один раз. Цикл работает до тех пор, пока условие является ложным. Аналогичным такому циклу является цикл вида
DO
<Тело цикла>
Loop While <Условие>
Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. Цикл работает до тех пор, пока условие остается истинным.
Например,
Do
Pr = Input Box ("Введите Пароль")
Loop Until Pr = "QWERTY"
В неопределенных циклах проверка происходит в конце цикла, и величина счетчика увеличивается еще на 1. Иногда это вызывает лишнее обновление счетчика. Можно передвинуть проверку условия на начало цикла. Такой цикл называется циклом с предусловием. Синтаксис записи оператора цикла с предусловием следующий:
Do Until <Условие>
<Тело цикла>
Loop
Цикл выполняется до тех пор, пока выражение условия ложно. Иначе выполняется переход на оператор после Loop. Если условие истинно, то цикл выполняться не будет.
Или
Do While <условие>
<Тело цикла>
Loop
Цикл называется <петля>. Условие проверяется, до того как выполняется тело цикла. Цикл продолжает свою работу, пока условие истинно.
Пример 1
Do While x<2
Y = а * ехр(х): X = X + Н
Print Y; X
Loop
Пример 2
Const n As Integer =8
Dim S As Integer,
j As Integer
S = 0: j = 2
Do Until S > n
S = S + j^2
J = j + 1
Loop
Label2.Caption = S
В таких циклах можно объединять несколько условий.
Например:
Do (While X<=0) and (Textl.Text=" ")
. . . .
Loop
Разновидностью циклов с предусловием является цикл типа Wend. Если условие истинно, то выполняется тело цикла. Если условие ложно, то цикл ни разу не выполнится.
While <Условие>В программе можно использовать операторы Exit Do или Exit for, с помощью которых происходит переход выполнения программы к оператору, следующему за неопределенным циклом. Оператор Exit for позволяет завершить цикл for...Next, до того как параметр примет свое конечное значение.
Например:
If j = 3 Then Exit Do "Досрочный выход из цикла"Для остановки бесконечного циклического процесса нажать клавиши Break [+ CTRL] или закрыть приложение.
![]() |
![]() |
![]() |