Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Visual Basic.doc
Скачиваний:
51
Добавлен:
31.08.2019
Размер:
10.63 Mб
Скачать

4. Цикл Do Until … Loop

Этот цикл служит для того, чтобы, пока условие не выполняется, повторять тело цикла (проверка условия содержится в начале цикла).

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

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

<операторы>

Loop

<логическое выражение> - это простое или сложное условие, или логическая константа (true или false).

Пока <логическое выражение> равно false, тело цикла выполняется, а как только <логическое выражение> станет равно true, работа продолжится со следующего оператора за служебным словом Loop.

Например:

Do Until y >= 10

y = y + 1

MsgBox “ Y = “ & y

Loop

Немедленный выход из цикла можно произвести по команде Exit Do.

5. Цикл Do … Loop While

Этот цикл служит для того, чтобы повторять тело цикла, пока выполняется условие (проверка условия содержится в конце цикла).

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

Do

<операторы>

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

<логическое выражение> - это простое или сложное условие, или логическая константа (true или false).

Вначале выполняется тело цикла, расположенное после ключевого слова Do, а затем проверяется <логическое выражение>. Пока <логическое выражение> равно true, тело цикла выполняется, а как только <логическое выражение> станет равно false, работа продолжится со следующего оператора после Loop While <логическое выражение>.

Например:

Do

y = y + 1

MsgBox “ Y = “ & y

Loop While y < 10

В этом случае цикл будет выполнен, по крайней мере, один раз.

6. Цикл Do … Loop Until

Этот цикл служит для того, чтобы повторять тело цикла, пока условие не выполняется (проверка условия содержится в конце цикла).

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

Do

<операторы>

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

<логическое выражение> - это простое или сложное условие, или логическая константа (true или false).

Вначале выполняется тело цикла, расположенное после ключевого слова Do, а затем проверяется <логическое выражение>. Пока <логическое выражение> равно false, тело цикла выполняется, а как только <логическое выражение> станет равно true, работа продолжится со следующего оператора после Loop Until <логическое выражение>.

Например:

Do

y = y + 1

MsgBox “ Y = “ & y

Loop Until y > 10

7. Цикл While … Wend

В VBA имеется также конструкция While … Wend. Это  вариант цикла, который оставлен для обратной совместимости с первыми версиями Visual Basic. Он служит для того, чтобы повторять тело цикла заранее неизвестное количество раз. Количество повторений определяет ситуация, возникающая во время выполнения тела цикла.

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

While <логическое выражение>

<операторы>

Wend

<логическое выражение> - это простое или сложное условие, или логическая константа (true или false).

П ока <логическое выражение> равно true, тело цикла выполняется, а как только <логическое выражение> станет равно false, работа продолжится со следующего оператора за служебным словом Wend.

Например:

While y < 10

y = y + 1

MsgBoxY = “ & y

Wend

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

Для завершения бесконечного цикла нажмите на клавиши <Ctrl>+<Break>!

Откроется окно, аналогичное окну, представленному на рис.8.1, в котором можно продолжить выполнение, завершить его или открыть созданный код в отладчике.

8. Правила выбора типа цикла

Существуют основные правила выбора типа цикла. Перечислим основные из них:

1. Если заранее известно число повторений тела цикла, лучше использовать оператор цикла For.

2. Если заранее неизвестно число повторений тела цикла и если окончание цикла зависит от выполнения некоторого условия, лучше использовать конструкции While…Wend, Do While…Loop или Do Until…Loop.

3. Если необходимо, чтобы цикл всегда выполнялся хотя бы один раз, то использовать конструкции Do…Loop While или Do…Loop Until.