[Exit For]
Next [СчетчикЦикла]
Парам-ры СчетчикЦикла, Начальное значение, Конечное значение, Шаг – числовые.
For | Ключевое слово, отмечающее начало оператора For-Next |
Step | Ключ. слово, задающее шаг приращения счетчика при заверш. очеред. цикла. Чаще всего он равен 1, но может быть любым целым числом, в том числе и отрицательным (тогда значение счетчика в каждом цикле уменьшается). В начале очеред. цикла знач. счетчика сравнивается с его конеч.значением. Если разница положит. (значение счетчика превосходит его конечное значение), управление передается оператору, заданному после ключевого слова Next. To же происходит и при отрицат. разнице. Указание ключевого слова Step и величины шага не является обязательным. Если они не определены, VB выполняет цикл с шагом 1 |
Next | Ключевое слово, отмечающее конец структуры For-Next. При достижении ключ. слова Next знач. счетчика увелич. на величину шага, после чего управление передается на начало цикла. Затем происходит сравнение счетчика с конеч.значением, и цикл при необходимости повтор. снова |
Пример использ. цикла Fox-Next в процедуре вычисл. факториала числа, введен. с клав-ры с помощью функции InputBox.
Private Sub Ргос5_ForNextlfThenElse ()
Dim NumberString As String
Dim Num As Integer
Dim Factorial As Double
Dim Countl As Integer
NumberString = InputBox ("Введите число: ", "Вычисление факториала")
If IsNumeric (NumberString) Then
Num = Val (NumberString)
If Num >= 0 Then
Factorial = 1
For Count1 = 1 To Num
Factorial = Factorial* Countl
Next
MsgBox "Факториал числа" & Num & "равен " & Factorial
Else
MsgBox "Факториал отрицат. числа не существует"
End If
Else
MsgBox "Введено нечисловое значение. повторите ввод"
End If
End Sub
InputBox | выдает на экран запрос на ввод числа, а затем, используя цикл For-Next и два условных оператора If-Then-Else, вычисляет его факториал |
IsNumeric | возвращ. True, если ее единственный аргумент явл. числом, и False — в противном случае |
Val | преобразует переданную ей строку в число, которое затем присваивается переменной Num. |
№23 Управляющая структура While-Wend
Действие ее подобно действию Far-Next, но группа операторов выполняется не заданное число раз, а до соблюдения опред. условия. Синтаксис:
While условие
Блок операторов
Wend
Прог-ма Ргос6 – для выделения 7 из последовательности случайных чисел.
Private Sub Proc6_WhileWend ()
Dim LotteryEntry As Integer
LotteryEntry = 0
While LotteryEntry <> 7
LotteryEntry = Int (10 *Rnd ())
Beep
Wend
MsgBox "Ваш номер равен"& LotteryEntry &". Вы выиграли!!!"
End Sub
Программа гарантирует, что в информац. окне всегда отображ. заданное число. Цикл While-Wend выполняется, пока значение переменной LotteryEntry не станет равным 7. При каждом выполнении цикла этой переменной присваивается случайное значение от 1 до 9, а затем с помощью функции VB Beep подается звуковой сигнал через внутренний динамик компьютера. При запуске этой программы несколько раз, можно услышать разное кол-во сигналов, в зависимости от того, на каком шаге генератор случайных чисел вернет число 7.
While | Ключевое слово, начало структуры While-Wend. |
LotteryEntry <> 7 | Условие, опред., будет ли выполнен цикл. Если да, цикл выполняется, если нет, управление передается оператору, стоящему за ключ. словом Wend. |
LotteryEntry=Int(10*Rnd()) | Первый оператор тела |
Веер | Второй оператор тела. |
Wend | Ключевое слово, отмечающее конец структуры While-Wend. |
№24Управляющая структура Do-Loop
Она похожа на структуру While-Wend, но1)условие завершения цикла Do-Loop можно задавать не только в его начале, но и в конце. Условие вконце цикла гарантирует, что он будет выполнен хотя бы один раз. 2)условие можно сделать критерием как выполнения цикла Do-Loop, так и его завершения. В VB оператор цикла Do-Loop имеет две разновид-ти: Do While …Loop и Until …Loop. Синтаксис: