Condition & Branch
條件與分支
If Then
Else
EndIf
條件常用判斷句
大於 >
小於 <
等於 =
不等於 <>
大於等於 >=
小於等於 <=
if 如果
語法:判斷句成立(True),則執行「指令」。
If 判斷句 Then
指令
EndIf
※位於If與EndIf之間的指令必須縮排,這是通用習慣、也更適合閱讀,請養成這個好習慣。
範例:
if 如果 else 否則
語法:如果判斷句成立(True),執行「指令1」、否則執行「指令2」。
If 判斷句 Then
指令1
Else
指令2
EndIf
※位於If與Else之間、Else與EndIf的指令也必須縮排,請養成好習慣。
if 如果 elseif 如果 else 否則
If 判斷句1
...
ElseIf 判斷句2
...
ElseIf 判斷句3
...
Else
...
EndIf
向使用者問候 - 只用如果
以時間來判斷問候語內容,中午12點之前問候「早安,你好。」、大於等於中午12點問候「晚安,你好。」。程式範例如下,判斷兩次條件是否成立的方法:
If (Clock.Hour<12) Then
TextWindow.WriteLine("早安,你好。")
EndIf
If (Clock.Hour>=12) Then
TextWindow.WriteLine("晚安,你好。")
EndIf
Q3-1:向使用者問候 - 如果、否則
請改寫成使用「如果、否則」寫法: If ... Then ... Else ... EndIf
Q3-2:奇數偶數
輸入一個整數,以「如果、否則」判斷出是奇數還是偶數。
範例為兩次條件判斷,必須改寫:
TextWindow.Write("輸入整數:")
num = TextWindow.ReadNumber()
remainder = Math.Remainder(num,2)
If remainder = 0 Then
TextWindow.WriteLine("整數為偶數")
EndIf
If remainder < > 0 Then
TextWindow.WriteLine("整數為奇數")
EndIf
※說明:remainder = Math.Remainder(num,2)意思是取num除以2之後的餘數,存入變數remainder。
Q3-3:人體BMI值狀況判斷
題目:先前在輸出輸入寫過的「計算BMI值」Q1-4,判斷BMI值是否「正常」、「過輕」、「過重」?
提示:BMI = 體重(公斤) / 身高2(公尺) ,18.5<=BMI<24為正常、BMI<18.5則過輕、BMI>=24則過重。你可以判斷三次,或使用兩層if else來判斷(較佳寫法)。
分支 Branching
將由上往下的循序執行,改為跳躍式執行,可以當成重複執行的方式使用。
語法:標籤+冒號,例如 start:
判斷式+分支 = 重複執行
i=1
start:
TextWindow.WriteLine(i)
i=i+1
If i<25 Then
Goto start
EndIf
這隻程式會將變數i不斷輸出之後加1,直到變數i等於25才會結束,功用等於迴圈。
Q3-4:輸入遇到0
程式提示輸入一個數字,以分支配合條件判斷,直到輸入0才停止,標籤名稱可設為input:。
無窮次數分支
底下的寫法會造成程式不斷執行,不會停止。(除非關閉執行視窗):
begin:
TextWindow.Write("輸入整數:")
num = TextWindow.ReadNumber()
Goto begin