
- •Лабораторная работа № 4. Циклический вычислительный процесс.
- •Повторение фиксированное число раз: циклы Fоr.
- •Применение цикла For.. Next
- •Пример цикла For.. Next с возрастающим счетчиком:
- •Пример цикла For.. Next с убывающим счетчиком:
- •Повторение неопределенное число раз: циклы Do
- •Циклы с проверкой условия перед выполнением.
- •Создание циклов с помощью Do While.
- •Пример цикла Do While
- •Создание циклов с помощью Do Until.
- •Создание циклов с помощью Do…Loop While
- •Создание циклов с помощью Do…Loop Until
- •Задания
- •Контрольные вопросы.
Создание циклов с помощью Do…Loop While
Первой циклической структурой, где условие определителя проверяется после выполнения цикла, является Do…Loop While, имеющий следующий синтаксис.
Do
statements
Loop While condition
Где condition представляет логическое выражение для определителя цикла, statements — одну или большое количество инструкций VBA (или вообще ни одной из них), которые составляют тело цикла; все они выполняются каждый раз когда выполняется цикл. Ключевое слово Loop, находящееся после statements, сигнализирует что достигнут конец цикла, и указывает точку с которой выполняется переход в начало цикла, чтобы проверить условие определителя.
В инструкции Do…Loop While выражение condition находится в конце цикла, поэтому условие определителя проверяется после выполнения самого цикла.
Поскольку в этом случае используется ключевое слово While, цикл будет выполняться до тех пор, пока логическое выражение, представленное condition, будет иметь значение True.
|
Каким бы ни было значение логического выражения, представленного condition, этот цикл выполниться хотя бы один раз. |
Создание циклов с помощью Do…Loop Until
Другой циклической структурой Do, где условие определителя проверяется после выполнения цикла, является Do…Loop Until, имеющего такой синтаксис.
Do
Statements
Loop Until condition
В этой инструкции выражение condition находится в конце цикла, поэтому условие определителя повторяется после выполнения самого цикла. Поскольку в этом случае используется ключевое слово Until, то цикл будет выполняться до тех пор, пока логическое выражение, представленное condition, будет иметь значение False.
При выполнении цикла Do…Loop Until вначале выполняются инструкции, представленные в statements. Когда достигнуто ключевое слово Loop, проверяется логическое выражение, представленное condition; если его значение False, то происходит переход в начало структуры и снова выполняется тело цикла. Когда в конце цикла вновь достигнуто ключевое слово Loop и если значение condition сменилось на True, то выполнение продолжается с инструкций, находящихся после строи со словом Loop.
|
Каким бы ни было значение логического выражения, представленного condition, этот цикл выполниться хотя бы один раз. |
Пример цикла Do…Loop Until
В процедуре приведенной ниже нужно угадать случайно сгенерированное число от 1 до 10. Цикл будет выводить окно, до тех пор, пока вы не угадаете «загаданное». В конце цикла, вы узнаете, сколько же попыток вам понадобилось.
Обратите внимание на генератор случайных чисел.
Sub Угадайка()
Dim EventFlag As Boolean
Dim g As Integer
EventFlag = False
Counter = 0 ’ счетчик ваших попыток
Randomize ’ запуск генератора случайных чисел
c = Round(10 * Rnd + 1, 0) ’ генерация случайного числа от 1 до 10
Do
g = InputBox("Угадайте число от 1 до 10")
If g = c Then
EventFlag = True
MsgBox "Ты угадал с " & Counter & " раза"
End If
Counter = Counter + 1
Loop Until EventFlag
End Sub
|
|