If-Then-Elif-Else

If <expression> Then <statement>(s) [Else statement(s)]
If <expression> Then
   [statement(s)]
[Elif <expression> Then]
   [statement(s)]
...
[Else]

   [statement(s)]
End If

Makes a decision regarding program flow based on the result returned by an expression.
If the result of <expression> is nonzero (logical true), the Then statement(s) is executed.

If the result of expression is zero (false), the Then statement(s) is ignored and the Else statement(s), if present, is executed.
Elif statement, as its name suggests, is a combination of If and Else.
Like Else, it extends an If statement to execute a different statement in case the original If expression evaluates to False. However, unlike Else, it will execute that alternative expression only if the Elif conditional expression evaluates to True.

Otherwise, execution continues with the next executable statement.

Example 1:

If N%<20 And N%>10 Then Print "OK": GoTo skip_error
    Print "N% IS OUT OF RANGE"
skip_error:
    Rem --- N% is in the range (10..20)

Example 2:

If x>0 Then Print "Positive" Else Print "Negative"

Example 3:

If x>0 Then
    Print "Positive"
ElIf x<0 Then 
    Print "Negative"
Else

    Print "Zero"
End If

Example 4:

' If A > 10, execute the three colon-separated statements in the order
' that they appear
If A > 10 Then A = A + 1 : B = B + A : C = C + B

Example 5:
' If A > 10, execute the three statements in the order
' that they appear

If A > 10 Then
    A = A + 1
    B = B + A
    C = C + B
End If

Example 6:

Input n%
If n% mod 2 = 0 Then 
    Print n%; " is even"
Else
    Print n%; " is odd"
End If

Example 7:
' graph2.bas - This file is part of nuBASIC
dx%=GetSWidth()
dy%=GetSHeight()
Randomize
While 1
x1%=Rnd(1)*dx%
x2%=Rnd(1)*dx%
y1%=Rnd(1)*dy%
y2%=Rnd(1)*dy%
t%=Int(Rnd(1)*6)
c%=Int(Rnd(1)*&hffffff)
If t%=1 Then
Line x1%,y1%,x2%,y2%,c%
Elif t%=2 Then
Rect x1%,y1%,x2%,y2%,c%
Elif t%=3 Then
FillRect x1%,y1%,x2%,y2%,c%
Elif t%=4 Then
Ellipse x1%,y1%,x2%,y2%,c%
Else
TextOut x1%,y1%, "nuBASIC",c%
End if
k$=InKey$()
If k$="q" Then End
End While

Comments