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

В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:

If УСЛОВИЕ Then

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

БЛ0К_0ПЕРАТ0Р0В_2 End if

Ветвь Else в условном операторе является необязательной. Таким образом, возможен следующий синтаксис оператора условия:

If УСЛОВИЕ Then ОПЕРАТОР ИЛИ

If УСЛОВИЕ Then

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

Отметим, что в операторе условия после Then можно разместить несколько операторов для того, чтобы все они выполнялись, если условие истинно. В этом случае они должны располагаться в одну строчку и быть разделены двоеточием, например:

If А > 5 Then А=А+5:В=В+АА2:С=С+В

В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:

If УСЛ0ВИЕ_1 Then БЛ0К_0ПЕРАТ0Р0В_1 Elself УСЛ0ВИЕ_2 Then

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

Elself УСЛ0ВИЕ_3 Then

Else

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

В данном условном операторе выполняется БЛОКОПЕ-PATOPOB_i, если истинно УСЛОВИЕ_і, в противном случае выполняется БЛОКОПЕРАТОРОВ.

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

Рассмотрим использование условного оператора и оператора Exit Function на примере функции пользователя, вычисляющей следующую формулу:

*(*) = -•

X

Тогда функция пользователя имеет вид:

Function Invers_function(х)

If х = 0 Then Exit Function _ Else Invers_function = 1/x End Function

6. Функции пользователя с несколькими операторами условного перехода

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

Рассмотрим пример функции пользователя ([2]), вычисляющей значение следующей функции с тремя условиями.

Функцию z можно вычислить с помощью следующей функции пользователя:

Function z(t)

If t <= -1 Then _

z = (1 + Abs(t))/(1 + t + t A 2) A (1/3) If t >-l And t < 0 Then_

z = 2 * Application.Ln(l + t A 2) + _ (1 + Cos(t) A 4)/(2 + t) If t >= 0 Then z = (1 + t) A (3/5) End Function

Функция Ln не является внутренней функцией VBA, поэтому для ее вызова нужно пользоваться конструкцией Application.Ln. Существует также другой способ вычисления функции z:

Function z(t)

If t <= -1 Then_


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