Структури IF – найефективніші із структур логічного галуження.
Раніше розгледіла проста структура, де за ключовим словом THEN йшов один оператор. Але можуть виникнути ситуації, коли умова достеменна, повинен виконається цілий блок операторів, а інакше виконується інший блок операторів якщо є ключове слово ELSE або друга умова ELSE IF. Або за умови FALSE виконуються оператори належні за оператором END IF.
Розгледимо можливі варіанти:
1. IF умова THEN оператор | 2. IF умова THEN блок END IF |
3. IF умова THEN Блок1 ELSE Блок2 END IF | 4. IF умова THEN Блок1 ELSE IF умова THEN Блок2 ELSE Блок3 ... END IF |
Наприклад, скласти алгоритм для розв’язання квадратного рівняння , коефіцієнти задаються користувачем через вікно повідомлення.
Sub PROGA()
Dim x, x1, x2, d, a, b, c
a= Val(InputBox(“ a= “))
b= Val(InputBox(“ b= “))
c= Val(InputBox(“ c= “))
If IsNumeric(a) And IsNumeric(b) And IsNumeric(c) Then
d = b^2– 4*b*c
If d<0 Then
MsgBox “Дискримінант відємний. Коренів НЕМА!!!”
ElseIF d =0 Then
x = -b / (2*a)
MsgBox “ x = ” & x,, “ один корень”
Else
X1 = (-b - Sqr(d)) / (2*a)
X2 = (-b + Sqr(d)) / (2*a)
MsgBox “ x1 = ” & x1 & “ x2 = ” & x2,, “ два корені”
End IF
End IF
End Sub