Общие сведения. Если в программе необходимо повторить один оператор или последовательность операторов несколько раз
Если в программе необходимо повторить один оператор или последовательность операторов несколько раз, используются операторы циклов. Операторы циклов заключают такой оператор или группу операторов между ключевыми словами начала и конца цикла и определяют условия повтора выполнения. Имеется большой выбор средств организации циклов, которые можно разделить на две группы:
· For ... Next
· Do ... Loop
Циклы For…Next используются, когда заранее определено, сколько раз должно выполняться повторение.
For<счетчик>=<нач. значение>То<кон. значение>
<оператор 1>
<оператор 2>
…
Next
В этом случае счетчиком является переменная, увеличивающаяся на каждом шаге цикла на 1. Например, следующая программа приведет к выводу квадратов целых чисел от 1 до 10:
For i = 1 To 10
C=i^2
MsgBox C
Next
Другой вид записи оператора:
For <переменная> = <нач. знач.> То <кон. знач.> Step <приращение>
<оператор 1>
<оператор 2>
…
Next
Например, чтобы вывести таблицу значений аргумента х и функции Sin(x) на интервале от 0 до 1 с приращением значения аргумента 0.1 необходимо записать:
For x = 0 To 1 Step 0.1
y=Sin(x)
MsgBox (y)
Next
Если необходимо вывести в этом фрагменте программы результаты в первый столбец, начиная с первой строки на рабочем листе с именем Лист1, то программа может выглядеть так:
i=1
For x = 0 To 1 Step 0.1
y=Sin(x)
Worksheets(“Лист1”).Cells(i, 1)=y
i=i+1
Next
Когда Step отсутствует, то приращение равно единице.
Циклы типа Do...Loop используются в тех случаях, когда заранее не известно, сколько раз должно быть повторено выполнение группы операторов. Такой цикл продолжает работу до тех пор, пока не будет выполнено определенное условие. Существуют 4 типа операторов цикла Do...Loop, которые определяются типом проверяемого условия и местом его расположения:
1) Цикл с ключевым словом While продолжает свою работу, пока условие остается истинным, т.е. условие выполняется, и задается в двух вариантах, представленных ниже.
Do While <условие> <операторы > Loop | Условие проверяется до того, как выполнится группа операторов, образующих тело цикла. |
Do <операторы> Loop While <условие> | Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
2) Цикл с ключевым словом Until продолжает свою работу, пока условие является ложным, т.е. условие не выполняется, и задается в двух вариантах, представленных ниже.
Do Until <условие> <операторы> Loop | Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. |
Do <операторы> Loop Until <условие> | Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
Пример 1. Пусть необходимо заполнить первый столбец на рабочем листе результатами вычислений по формуле:
при z={1; 4; 7,5; 9; 15}