Например, есть некая переменная х, имеющая числовое значение.
Требуется написать функцию, реализующую решение простейшей системы ограничений.
10, если х<0
F(x)= х2, если х>0 и x<11
1/x, если х>11
Результат может выглядеть так:
Public Function функция_ограничений(x!)
функция_ограничений=1/x
if x<0 then функция_ограничений=10
If x>0 and x<11 then функция_ограничений=x^2
End Function
Обратим ваше внимание на оформление «двойного» условия, которое трактуется как соблюдение первого и второго одновременно с помощью and.
Аналогично можно использовать условие выполнения одного из нескольких, тогда связующим оператором будет or (или).
F(x)= 1/x, если х<0 или x>11
х2, в остальных случаях
Public Function функция_ограничений1(x!)
If x<0 or x>11 then функция_ограничений1=1/x else функция_ограничений1= x^2
End Function
Условный оператор Select Case. <переменная или объект>.. [Case else]..End Select
Конструкция Select Case "принимает решение" на основе анализа значения одного выражения. При этом выражение указывается в строке Select Case. Является альтернативой оператору If. Выглядит компактнее и нагляднее при множестве анализируемых значений выражения :
Select Case Анализируемое_выражение
Case Значение№1 Группа операторов Case Значение№2 Группа операторов ... Case Значение№N Группа операторов Case Else Группа операторов
End Select
Конечно, анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строка Case.
Пример:
В зависимости от числового значения переменной iTest, строковой переменной strResult присваиваются различные значения в виде текста.
Select Case iTest
Case 1 strResult = "iTest = 1" Case 2, 3, 4 strResult = "iTest = 2, 3 или 4" Case 5 To 9 strResult = "iTest находится в диапазоне от 5 до 9" Case iTest < 0 strResult = "iTest меньше 0" Case Is > 9 strResult = "iTest больше 9" Case Else strResult = "iTest равно 0"