跳轉到內容

BASIC 程式設計/BASIC 入門/控制結構/IF...THEN...ELSEIF...ELSE

來自華夏公益教科書,開放的書籍,用於開放的世界

IF...THEN...ELSEIF...ELSE控制語句允許識別某個條件是否為真,如果為真,則執行程式碼塊。

10 CLS
20 IF number<0 THEN PRINT "Number is negative" REM Single line if
30 ELSEIF number>0 THEN
40   PRINT "Number is positive" REM Two line if/elseif
50 ELSE
60   PRINT "Number is zero"
70 END IF

在某些 BASIC 實現中(但大多數版本允許),IF 語句可能需要包含在一行中。但是,在這種情況下 ELSEIF 可能不可用,並且不需要顯式 END IF

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

這延續到某些 BASIC 實現中,如果“IF...THEN”語句後面緊跟著同一行上的程式碼,則它完全包含在內。也就是說,編譯器假設該行以“ENDIF”結尾,即使沒有宣告。這在處理巢狀的“IF...THEN”子句時很重要

10 CLS
20 IF X<2 THEN
30   IF 2<3 THEN PRINT "This is printed if X is 1"
40 ELSE
50   IF 3<4 THEN PRINT "This is printed if X is 3"
60 END IF

ELSE 子句雖然在“IF 2<3”語句之後,但與“IF X<2”語句相關聯,因為“IF 2<3”語句在同一行上有一個 PRINT 語句。

讓我再舉一些“if-then-else”程式的例子

Q1)輸入一個人的年齡,檢查他/她是否是選民?

Ans1) 10 CLS 20 INPUT AGE 30 IF AGE>=18 THEN 40 PRINT "VOTER" 50 ELSE 60 PRINT "NON VOTER" 70 END IF 80 END

Q2)輸入一個人的年齡,檢查他/她是否是老年人還是非老年人?

Ans2) 10 CLS 20 INPUT AGE 30 IF AGE>=60 THEN 40 PRINT "SENIOR CITIZEN" 50 ELSE 60 PRINT "NOT A SENIOR CITIZEN" 70 END IF 80 END

華夏公益教科書