Организация цикла с проверкой условия в конце цикла
Синтаксис операторов:
Do Do
операторы тела цикла операторы тела цикла
Loop While < ЛВ > (ложь) Loop Until < ЛВ> (истина)
(истина) (ложь)
Выход из цикла Выход из цикла
Пример 6.2. Составить программу вычисления суммы членов ряда с заданной точностью Е= 0.001 и число его членов, если задан общий член ряда an=1/n2. Алгоритм является итерационным, так как неизвестно заранее количество выполняемых циклов (глава 1, рис. 1.6). Процедура отклика командной кнопки с использованием Do While:
Private Sub CommanButton1_Click
Dim e, an, s As Single, n As Integer
e=0.001: n=1: s=0: an=1/n^2
Do While an=>e
s=s+an: n=n+1: an=1/n^2
Loop
MsgBox “ s= “ & s & “n=” & n
End Sub
Пример 6.3. Составить программу вычисления по следующей итерационной формуле yi+1=0,5(yi + x/yi) с заданной точностью Е=0.001, начальным приближением y0=1 и х=25. В циклическом алгоритме (глава 1, рис. 1.7) выполним замену переменных: Уi обозначим переменной а
Уi+1 обозначим переменной b
Тогда запишем а=уо; b=0.5(a+x/a); ; a=b; Вывод b
Процедура отклика командной кнопки с использованием оператора If:
Private Sub CommandButton1_Click()
Dim e, x, yo, a, b As Single
e = 0.001: yo = 1: x = 25
a = yo
2: b = 0.5 * (a + x / a)
If Abs(b - a) < e Then GoTo 1
a = b
GoTo 2
1: MsgBox " b= " & b
End Sub
Глава 7. Массивы данных в VBА