< BASIC Programming < Beginning BASIC < Control Structures

The IF...THEN...ELSEIF...ELSE control statement allows identifying if a certain condition is true, and executes a block of code if it is the case.

IF number<0 THEN
  PRINT "Number is negative"
ELSEIF number>0 THEN
  PRINT "Number is positive"
ELSE
  PRINT "Number is zero"
END IF

In some implementations of BASIC (but permitted by most versions), the IF statement may need to be contained in one line. However, ELSEIF may not be available in this case, and there is no need for an explicit END IF:

IF number<0 THEN PRINT "Number is negative" ELSE PRINT "Number is non-negative"

This carries over into some implementations of BASIC where if the "IF...THEN" statement is followed by code on the same line then it is fully contained. That is, the compiler assumes the lines ends with "ENDIF", even if it not stated. This is important when dealing with nested "IF...THEN" clauses:

IF X<2 THEN
  IF 2<3 THEN PRINT "This is printed if X is 1"
ELSE
  IF 3<4 THEN PRINT "This is printed if X is 3"
END IF

The ELSE clause, while following the "IF 2<3" statement, is associated with the "IF X<2" statement, because the "IF 2<3" statement has a PRINT statement on the same line.

Let me give some more examples of "if-then-else" programs:

Q1)Input the age of a person and check whether he/she is voter or not?

Ans1)

        INPUT AGE
        IF AGE>=18 THEN
        PRINT "VOTER" 
        ELSE
        PRINT "NON VOTER"
        END IF
        END.

Q2)Input the age of a person to check if he/she is a senior citizen or not a senior citizen?

Ans2)

  INPUT AGE
  IF AGE>=60 THEN
  PRINT "SENIOR CITIZEN"     
  ELSE
  PRINT "NOT A SENIOR CITIZEN"
  END IF 
  END.
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.