Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.41
Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.41

Option Base I

Function Доход_2 (процент As Double, _ платеж As Variant,_

год As Variant) As Double Dim i, j, n As integer, s As Double n = платеж .Rows .Count s = 0 i - I

While i <= n

s = s + платежЦ)/(1 + процент) л _

((год(i) - год (1))/365)

i = i + 1 Wend

Доход_2 = s End Function

Рассмотрим еще один пример выравнивания по центру содержимого всех ячеек, начиная с активной, сверху вниз, до тех пор, пока не встретится пустая ячейка ([1]).

i = 0

While ActiveCell .Change (i, 0) oEmpty

ActiveCell.Cell(i , 0).HorizontalAlignment=xlCenter

1=1 + 1

Wend

10.4. Операторы цикла Do-Loop

В VBA для организации циклов с неизвестным заранее числом шагов используются и другие операторы цикла: Do While-Loop, Do Until-Loop, Do-Loop While и Do-Loop Until.

10. Операторы цикла

Перечисленные операторы имеют следующий синтаксис:

1.

Do While УСЛОВИЕ

БЛ0К_0ПЕРАТ0Р0В

[Exit Do]

БЛ0К_0ПЕРАТ0Р0В Loop

2 .

Do Until УСЛОВИЕ

БЛ0К_0ПЕРАТ0Р0В

[Exit Do]

БЛ0К_0ПЕРАТ0Р0В Loop

3 .

Do

БЛ0К_0ПЕРАТ0Р0В [Exit Do] БЛ0К_0ПЕРАТ0Р0В Loop While УСЛОВИЕ

4.

Do

БЛ0К_0ПЕРАТ0Р0В [Exit Do] БЛ0К_0ПЕРАТ0Р0В Loop Until УСЛОВИЕ

Оператор Do While-Loop обеспечивает многократное выполнение блока операторов до тех пор, пока УСЛОВИЕ соблюдается, а оператор Do Until-Loop - пока УСЛОВИЕ не соблюдается. Операторы Do-Loop While и Do-Loop until отличаются от перечисленных выше двух операторов тем, что сначала блок операторов выполняется по крайней мере один раз, а потом проверяется УСЛОВИЕ. Оператор Exit Do обеспечивает досрочный выход из оператора цикла.

Приведем пример использования цикла Do-Loop While при нахождении корня уравнения Дх) = 0 методом Ньютона ([2]). Для нахождения приближенного значения корня уравнения методом Ньютона необходимо задать начальное приближение х0, а затем определить последующие приближения к корню методом итераций по формуле

Программирование в среде Visual Basic for Applications

x=x _n^i

где n =1, 2, ...

Процесс останавливается при выполнении неравенства I хп - xn_i | < £, где £ - точность определения корня.


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta