While Wend

Управляющие структуры в программе

Определенные циклы

For ___ Next

For I% = 1 to 10 (% - целочисленный тип для ускорения работы цикла)

Print I%

Next I%

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

 

Пример. Печать всеми доступными шрифтами экрана.

Private Sub Form_Click()

Dim I As Integer

For I=0 to Screen.FontCount - 1

FontName = Screen.Fonts (I)

Print “Это шрифт”; Screen.Fonts (I)

Next I

End Sub

 

Неопределенные циклы

Не выполняются фиксированное число раз. Цикл может выполняться или нет в зависимости от результата, вычисляемого внутри цикла

 

Do

Выражение

Loop Until выполняется условие

Пример. Проверка пароля

Private Sub Form_Load ()

Do

X$ = InputBox$ (“Пароль ?”)

Loop Until X$ = “VB”

End Sub

 

Для остановки бесконечного процесса используют клавиши “Break” или Run|End или закрыть приложение. В программе можно использовать оператор Exit Do (или Exit For), которые переводят программу к оператору следующему после цикла.

 

Сложные неопределенные циклы

В неопределенных циклах проверка происходит в конце цикла и счетчика увеличивается еще на 1. Иногда это вызывает лишнее обновление счетчика. Можно передвинуть проверку условия на начало цикла:

Do Until условие

Тело цикла Выражение

Loop

 

Do While

Do

Loop Until аналогичен

Do

Loop While условие

Пример.

Do Do

Loop Until N>5 ? Loop While N <=5

Do While

Do

Выражение

Loop While условие

или

Do While условие

Выражение

Loop

 

 

В таких циклах можно объединять несколько условий, например

Do While X<=0 and txtDisplay.Text=“ “

?

?

Loop

 

Цикл While /Wend

While условие

. . . . .

Wend

Например, While x>0

S = S+x

Wend

Может быть несколько вложенных циклов. Любой Wend относится к ближайшему While. Do __ Loop дает структуру и гибкость цикла.

 

 

Условные операторы

If условие Then оператор

 

Например, If N>=0 and N<=9 Then Print “Ok”

 

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

 

While Wend

Вместо Do While x=0

Loop

While x=0

Wend

 

If условное выражение Then (Enter) несколько операторов Else необяза- несколько операторов тельно End If   If выражение Then оператор Else If выражение Then оператор . . . Else оператор End If