Написати функцію користувача, що обчислює значення функції F в залежності від значення аргументу X:
1) Конструкція If…Then…Else
FunctionF1_If(X)
IfX>=0AndX<=1Then
F1_If=Sin(1+X+X^2)^4/Cos(10*X+3)
ElseIfX>=2AndX<=5OrX>10Then
F1_If=Sqr(Abs(X^3-5*X))
ElseIfX>=6AndX<=8Then
F1_If=(X^2+4)/(X^2-4)
Else
F1_If=0
EndIf
EndFunction
2)Конструкція Select Case
Function F1_Case(X)
Select Case X
Case 0 To 1
F2_Case = Sin(1 + X + X ^ 2) ^ 4 / Cos(10 * X + 3)
Case 2 To 5, Is>10
F2_Case = Sqr(Abs(X ^ 3 - 5 * X))
Case 6 To 8
F2_Case = (X ^ 2 + 4) / (X ^ 2 - 4)
Case Else
F2_Case = 0
End Select
End Function
3. Оператори циклу.
Для виконання якого-небудь оператора, або блоку операторів, декілька разів використовуються оператори циклу. Існують 2 види циклів:
- цикли, що виконуються заздалегідь задану кількість разів, у VBA для цього використовується оператор For... Next;
- цикли, що виконуються доти поки не буде виконана яка-небудь умова - оператор Do... Loop.
Є різновиди кожного типу циклів.
Нижче наведено синтаксис основних видів операторів циклу.
Оператор циклу For... Next.
Повторює блок операторів задану кількість разів.
Синтаксис: For лічильник = початок To кінець [Step крок]
[оператори]
[Exit For]
[оператори]
Next [лічильник], де:
лічильник - обов'язковий; числова змінна, котра використовується як лічильник циклу;
початок - обов'язковий;. початкове значення лічильника;
кінець - обов'язковий; кінцеве значення лічильника;
крок - необов'язковий; значення, на яке змінюється лічильник при кожному виконанні циклу. За замовчуванням дорівнює одиниці.
оператори – оператори; один або більш операторів між For and Next, що виконуються задану кількість разів.
Оператор циклу Do... Loop.
Повторює блок операторів, поки умова істина - Whіle, або доти, коли умова стане істинною - Untіl.
Синтаксис: Do [{While | Until} умова]
[оператори]
[Exit Do]
[оператори]
Loop
Приклад використання різних типів операторів циклу. Обчислити значення функції F (дивиться попередній приклад) для декількох значень аргументу X, що знаходяться на листі Excel у стовпці A, починаючи з другого рядка, тобто A2 - це адреса першого значення аргументу.