Если заранее известно сколько раз должен повториться цикл, то применяют цикл For - Next .
For < счетчик>= < начало>То < конец>[ Step < шаг>]
[< операторы> ]
[ Exit For ]
[<операторы>]
Next [< счетчик>]
Необязательный оператор Exit For может находиться в любом месте цикла и обеспечивает выход из цикла, не дожидаясь выполнения условия завершения цикла.
51.Инструкция Do…Loop
Повторяет блок инструкций, пока условие Boolean равно True или до тех пор, пока условие станет True.
Do { While | Until } condition [ statements ] [ Exit Do ] [ statements ]Loop-or-Do [ statements ] [ Exit Do ] [ statements ]Loop { While | Until } condition
While
Требуется, если используется Until. Повторяет цикл до тех пор, пока condition равно False.
Until
Требуется, если используется While. Повторяет цикл до тех пор, пока condition равно True.
condition
Необязательный параметр. Выражение типа Boolean. Если condition равно Nothing, Visual Basic обрабатывает его как False.
statements
Необязательный атрибут. Один или несколько операторов, повторяемых, пока condition равно или пока не станет равно True.
Exit Do
Необязательный атрибут. Передача управления из цикла Do.
Loop
Обязательный параметр. Завершение определения цикла Do.
· Природа условий. Условие обычно является результатом сравнения двух значений, но оно может быть любым выражением, значение которого при вычислении имеет тип Тип данных Boolean (Visual Basic) (True или False). Сюда же относятся значения других типов данных, например числовых типов, преобразованные в тип Boolean.
· Проверка условий. Можно проверить condition только один раз, в начале либо в конце цикла. While или Until можно использовать для указания condition, но не оба одновременно.
· Число итераций. Если проверить condition в начале цикла (в инструкции Do), цикл может никогда не выполниться, даже один раз. Если проверить в конце цикла (в инструкции Loop), цикл всегда выполняется по крайней мере один раз.
· Вложенные циклы. Циклы Do могут вкладываться друг в друга. Также можно вложить друг в друга различные виды управляющих структур.
Пример: IntЧисло=1
IntS=1
Do While intЧисло<50
S=S*intЧисло
Loop
52 Инструкция For…Next
Структура For... Next используется при необходимости повторения набора инструкций несколько раз.
Циклы Оператор While... End While (Visual Basic) или Оператор Do...Loop (Visual Basic) удобны, когда неизвестно необходимое число повторов выполнения операторов. Однако, если предполагается повторить цикл определенное число раз, то лучше использовать цикл For...Next. Число итераций определяется при первом входе в цикл.
For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ]Next [ counter ]
Counter -Требуется в операторе For. Числовая переменная. Управляющая переменная цикла.
Datatype -Является обязательным, если counter еще не был объявлен. Тип данных counter.
Start -Обязательный атрибут. Числовое выражение. Начальное значение counter.
End -Обязательный атрибут. Числовое выражение. Конечное значение counter.
Step -Необязательный атрибут. Числовое выражение. Шаг, с которым counter увеличивается при каждом прохождении цикла.
Statements -Необязательный атрибут. Одно или несколько выражений между For и Next, выполняемых указанное число раз.
Exit For -Необязательный атрибут. Передача управления из цикла For.
Next-Обязательный атрибут. Завершение определения цикла For.
· Типы данных. Типом данных counter является обычно Integer, но может быть любой тип, поддерживающий операторы больше или равно (>=), меньше или равно (<=), а также операторы сложения (+) и вычитания (-). Он даже может определяемым пользователем типом, если тот поддерживает все эти операторы.
Выражения start, end и step обычно приводятся к типу Integer, но могут быть приведены к любому большему по разрядности типу, чем тип counter. При использовании определяемого пользователем типа для counter это означает, что может потребоваться определить оператор преобразования CType для преобразования типов start, end или step к типу counter.
· Объявление. Если counter не был объявлен вне цикла, то его нужно объявить в операторе For. В этом случае областью действия counter является тело цикла. В то де время, нельзя определять counter и внутри, и снаружи цикла.
· Число итераций. Visual Basic вычисляет значения итераций start, end и step только один раз перед началом цикла. Если в блоке операторов значение end илиstep изменяется, то это изменение не оказывает влияния на повторение цикла.
· Вложенные циклы. Циклы For могут вкладываться друг в друга. При этом каждый цикл должен иметь уникальную переменную counter.
Также можно вложить друг в друга различные виды управляющих структур. Дополнительные сведения см. в разделе Вложенные структуры управления.
· Выход из цикла.Оператор Exit немедленно передает управление оператору, следующему за оператором Next. Выход из цикла может потребоваться при обнаружении условия, которое делает бесполезным или невозможным продолжение итераций, например ошибочное значение или запрос на завершение.
· Вход в цикл. При начале выполнения цикла For...Next Visual Basic вычисляет start, end и step только один раз. Затем назначается значение start переменной counter. Перед выполнением блока операторов сравниваются counter и end. Если значение counter превысило конечное значение, то цикл For завершается, а управление передается оператору, следующему после Next. В противном случае выполняется блок операторов.