Оператор неопределенного цикла Do ... Loop
Все неопределенные циклы строятся с помощью одного оператора цикла – Do. Оператор Doимеет много опций и является настолько гибким, что в действительности он предоставляет четыре различных конструкции цикла в двух базовых категориях.
Две базовые категории конструкций цикла Do – это циклы, которые тестируют условие до выполнения тела цикла, и циклы, которые тестируют условие после выполнения тела цикла.
Если проверка осуществляется через ключевое слово While, цикл работает пока условие истинно. Как только условие становится ложным, цикл прекращает свою работу. Если проверка осуществляется через ключевое слово Until, цикл работает пока условие ложно. Как только условие становится истинным, цикл прекращает свою работу.
Таким образом, общий вид цикла Do…Loop можно представить в виде:
Цикл “ПОКА” | Цикл “ДО” | |
цикл с пост- условием | parametr = начало shag = шаг DO [тело цикла] parametr = parametr + shag LOOP WHILE условие | parametr = начало shag = шаг DO [тело цикла] parametr = parametr + shag LOOP UNTIL условие |
цикл с пред- условием | parametr = начало shag = шаг DO WHILE условие [– тело цикла] parametr = parametr + shag LOOP | parametr = начало shag = шаг DO UNTIL условие [тело цикла] parametr = parametr + shag LOOP |
Здесь parametr – переменная, по которой организован цикл (параметр цикла); shag – шаг изменения значения переменной цикла.
Пример 15. Построить и заполнить таблицу значениями функции на интервале с шагом 4°.
– решение с использованием ключевого слова While(цикл с предусловием):
Sub Demo_Do_While_Loop()
Dim xStart, xEnd, xStep As Integer
DimxAs Integer
DimiAs Integer
Dimxradian, yAs Single
xStart = Cells(2, 2)
xEnd = Cells(3, 2)
xStep = Cells(4, 2)
i = 1
x = xStart
' Пока x<= 40 выполняются следующие действия:
Do While x <= 40
xradian = 3.14 * x / 180
y = (2.51 * Sin(xradian) / (2 + 3 * Cos(xradian)) ^ (1 / 3))
i = i + 1
Cells(i, 4) = x
Cells(i, 5) = y
x = x + xStep
' Окончание цикла
Loop
Дата добавления: 2015-08-14; просмотров: 536;