End Sub
Loop
Loop
Do
Loop
. . .
Loop
. . .
Циклы с условием
Имеется несколько разновидностей циклов :
1. Цикл с предусловием :
Do While <условие> ‘While – “до тех пор (пока)”
операторы ‘тело цикла
Loop ‘конец цикла,
где <условие> – логическое выражение (c While -это условиепродолжения ЦИКЛА).
Перед выполнением тела цикла (в том числе и в первый раз) проверяется истинность ус-
ловия. Если оно имеет значение True (истина), то тело цикла выполняется, если False (ложь),
то осуществляется выход из цикла (к оператору, записанному за оператором Loop).
Пример 1:
1. Вычислить F = 10!
Dim I As Integer, F As Integer
F = 1 : I = 2
Do While I < = 10
F = F * I : I = I + 1
MsgBox “F =” & F
2. Цикл с постусловием :
Do ‘начало цикла
операторы ‘тело цикла
Loop While <условие> ‘конец цикла
Первый раз тело цикла выполняется независимо от условия. Затем, если условие истинно (True), то снова выполняется тело цикла, иначе (Else) – выход из цикла.
Имеются ещё две конструкции цикла Do . . . Loop, отличающиеся тем, что цикл выполняется до тех пор, пока условие ложно(c Until -это условиезавершения ЦИКЛА).:
3. Do Until<условие> ‘Until – “до”, “пока не”
операторы
От цикла 1 отличается тем, что тело цикла выполняется, если условие ложно.
операторы
Loop Until <условие>
От цикла 2 отличается тем, что тело цикла снова выполняется, но если условие ложно.
Из циклов 1-4 можно выйти досрочно с помощью оператора Exit Do.
Пример 2:
A = 0
Do While True ‘True – это условие бесконечного цикла
A = A + 1
IF A > 50 Then Exit Do
При выходе из цикла А = 51.
Пример 3:
В непустой неповторяющейся последовательности целых чисел, завершающейся нулем (нуль не является членом последовательности), найти сумму чисел, следующих за максимальным элементом.
Private Sub . . .
Dim X As Integer, S As Integer, Max As Integer
X = InputBox (“Вв. первый элемент последовательности”)
Max = X : S = 0
X = InputBox (“Вв. следующий элемент последовательности”)
Do While X < > 0
IfX > Max Then Max = X : S = 0 Else S = S + X
X= InputBox (“Вв. следующий элемент последовательности, 0 -выход”)
MsgBox “искомая сумма:” & S
Пример 4:
В последовательности целых чисел с неизвестным заранее числом элементов, найти количество элементов с максимальной суммой цифр. Ввод последовательности завершается пользователем в любой момент.
Действия :
- Запуск проекта;
- Процедура, связанная с событием Form1_Load очистит Txt1, Txt2, Txt3;
- Появится форма. Нажать “Пуск”. Запустится процедура, в которой имеется команда ввода, и осуществятся вычисления;
- Ввести с клавиатуры число. После ввода появляются значения в Txt1, Txt2, Txt3;
- После завершения ввода последовательноти чисел на Lbl1 появляется сообщение “Ввод завершен”;
- Нажав “Выход”, завершим программу.
Процедуры формы :
Private SubForm1_Load ( )
Txt1.Text = “” : Txt2.Text = “” : Txt3.Text = “”