Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД_шпоры_2014final.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
821.75 Кб
Скачать

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, но может быть любой тип, поддерживающий операторы больше или равно (>=), меньше или равно (<=), а также операторы сложения (+) и вычитания (-). Он даже может определяемым пользователем типом, если тот поддерживает все эти операторы.

Выражения startend и step обычно приводятся к типу Integer, но могут быть приведены к любому большему по разрядности типу, чем тип counter. При использовании определяемого пользователем типа для counter это означает, что может потребоваться определить оператор преобразования CType для преобразования типов startend или step к типу counter.

  • Объявление. Если counter не был объявлен вне цикла, то его нужно объявить в операторе For. В этом случае областью действия counter является тело цикла. В то де время, нельзя определять counter и внутри, и снаружи цикла.

  • Число итераций. Visual Basic вычисляет значения итераций startend и step только один раз перед началом цикла. Если в блоке операторов значение end илиstep изменяется, то это изменение не оказывает влияния на повторение цикла.

  • Вложенные циклы. Циклы For могут вкладываться друг в друга. При этом каждый цикл должен иметь уникальную переменную counter.

Также можно вложить друг в друга различные виды управляющих структур. Дополнительные сведения см. в разделе Вложенные структуры управления.

  • Выход из цикла.Оператор Exit  немедленно передает управление оператору, следующему за оператором Next. Выход из цикла может потребоваться при обнаружении условия, которое делает бесполезным или невозможным продолжение итераций, например ошибочное значение или запрос на завершение.

  • Вход в цикл. При начале выполнения цикла For...Next Visual Basic вычисляет startend и step только один раз. Затем назначается значение start переменной counter. Перед выполнением блока операторов сравниваются counter и end. Если значение counter превысило конечное значение, то цикл For завершается, а управление передается оператору, следующему после Next. В противном случае выполняется блок операторов.