Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Циклические структуры. Циклы While. Циклы For. Бесконечные циклы. Visual Basic.NET



Цикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов.

В языке Visual Basic.NET существует три основных вида циклов, которые реализуется при помощи конструкций For:Next, Do:Loop и While:End While.

For:Next

Используется в том случае, когда количество повторов заданного блока операторов известно заранее. Данная конструкция выглядит следующим образом:

For счетчик = начальное значение To конечное значение [Step шаг]

Операторы1

[Exit For]

Операторы2

Next [счетчик]

Когда приведенные операторы выполняются первый раз, то переменной счетчику присваивается начальное значение, после чего возможны два варианта действий. Если в результате проверки условия счетчик > конечное значение было получено значение True, то происходит завершение цикла, при этом блоки Операторы1 и Операторы2 ни разу не выполняются. С другой стороны, если результатом проверки условия является False, то в этом случае блоки операторов выполняются первый раз, после чего происходит переход на начало цикла. Далее значение переменной-счетчика увеличивается на шаг, расположенный после ключевого слова Step (в случае его отсутствия устанавливается шаг = 1). После этого снова проверяется истинность условия счетчик > конечное значение и т.д., окончание цикла происходит в тот момент, когда результатом данной проверки станет значение True.

Зачастую бывает необходимо "аварийно" завершать работу цикла при выполнении какого-либо дополнительного условия. В этом случае внутри цикла следует использовать служебное словосочетание Exit:For, которое обычно располагают в управляющей конструкции, например:

If условие Then Exit For

Если результатом проверки условия будет значение True, то выполнение цикла будет прекращено, причем блок Операторы1 будет выполнен очередной раз, а блок Операторы2 - нет.

В данном примере следующий цикл For...Next воспроизводит в виде быстрой последовательности четыре звуковых сигнала:

Dim i As Integer

For i = 1 To 4

Beep()

Next i

Do:Loop

Применяется в том случае, когда число повторений операторов тела цикла заранее неизвестно. Существуют четыре разновидности данной конструкции. При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще.

Do Until условие

Операторы

Loop

Если результатом проверки условия является значение False, то блок операторов выполняется, иначе осуществляется переход на оператор, расположенный после служебного слова Loop. С другой стороны, если первая проверка условия даст результат True, то цикл не выполнится ни разу.

Do While условие

Операторы

Loop

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

В случае использования последних двух конструкций цикл будет выполнен хотя бы один раз. Это циклы с постусловием.

Do

Операторы

Loop Until условие

Например, следующий цикл Do использует ключевое слово Until для повторения цикла до тех пор, пока пользователь не ввел в поле ввода слово "Готово":

Dim InpName As String

Do

InpName = InputBox("Введите ваше имя или наберите Готово для выхода.")

If InpName <> "Готово" Then TextBox1.Text = InpName

Loop Until InpName = "Готово"

Блок операторы выполняется до тех пор, пока результатом проверки условия является значение False, иначе выполнение цикла заканчивается.

Do

Операторы

Loop While условие

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

While:End While (Wend)

Также используется в том случае, когда число повторений операторов тела цикла заранее неизвестно, и имеет следующий синтаксис:

While условие

Операторы

Wend (End While)

Если результатом проверки условия является значение True, то блок операторы выполняется, иначе осуществляется переход на оператор, расположенный после End While. С другой стороны, если первая проверка условия даст результат False, то цикл не выполнится ни разу.

Например, в следующем коде представлен цикл, печатающий цифры с 1 до 10:

Dim i As Integer

i = 1

While i <= 10

Response.Write(i & "<br>")

i = i + 1

End While





Дата публикования: 2015-02-03; Прочитано: 1032 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...