TI-Basic Z80 程式設計/條件語句
條件語句 允許程式根據某些條件執行不同的路徑。這些允許程式執行測試,然後根據測試結果採取行動。
條件 用於控制程式的路徑。條件透過使用關係運算符 對不同值進行比較。這些包括=, ≠, >, ≥, <, ≤. 關係運算符總是返回真或假結果(稱為布林值)。要使用它們,在運算子的兩邊輸入要比較的值
X 的值為5,而第二行將返回真,如果3X+2 的值大於或等於F要輸入關係運算符,請按 2ND [TEST]. 您可能還想同時測試兩個不同的條件,並使用邏輯運算子 將它們連線起來。這些包括and, or, xor, 和not. 基本語法與關係運算符類似。
要輸入邏輯運算子,請按 2ND [TEST] LOGIC. 對於以下列表,請考慮格式A op B,其中AandB是條件,並且op是邏輯運算子。其中op等於...
- and, 整個條件僅在AandB都為真時才返回真。
- or, 整個條件在至少一個AandB為真時才返回真。
- xor, 整個條件僅在其中一個AorB為真時才返回真。
Thenot運算子很特殊,因為它不直接比較兩個條件。相反,它否定巢狀在其中的條件。例如
要使用條件語句,必須將它們放在條件塊 中。條件塊包含要測試的條件和要執行的程式碼。以下部分介紹了 TI-Basic 中可用的各種條件塊型別。
If(PRGM CTL 1) 需要宣告一個條件引數(條件)來確定是否要執行以下指令。標準If 塊只能根據條件執行一行程式碼。例如,如果您需要根據條件執行兩條或多條指令,則必須使用If Then End 塊。引數或引數是一個布林值結果,這意味著它們將為真或假。如果表示式用作條件,則 0 將代表假,非 0 值將代表真。
If condition statement
- 其中condition是任何導致零或非零結果的語句,或返回真或假的條件運算子
- Ifcondition返回真或非零,statement被執行
- Ifcondition返回假或零,statement不被執行
以下示例演示了一個非常基本的Ifstatement
- 6→X
- If X>5
- Disp "X > FIVE!"
它將顯示X > FIVE! 因為條件X>5 返回真(6 大於 5)。如果X 為 3,條件將返回假(3 不大於 5),並且不會顯示任何內容。
以下程式將始終顯示Hello World 因為條件 1 將始終返回 1(即非零),因此條件始終為真
- If 1
- Disp "Hello World"
同樣,以下程式將永遠不會顯示Goodbye World 因為它始終返回 0。
- If 0
- Disp "Goodbye World"
If Then End(PRGM CTL {1,2,7}) 條件語句用於當多個語句必須在條件返回真時執行。它非常類似於簡單的If語句,區別在於執行多個語句而不是一個語句。
TheIf語句需要一個條件,然後Then命令必須在下一行執行,後跟一個或多個語句,這些語句將在條件返回真時執行。TheIf塊以End語句結束,該語句告訴計算器所有以下語句將按正常方式執行。
:If condition :Then :statement1 :statement2 :statementn :End
- 其中condition是任何導致真或假結果的語句。
- Ifcondition返回真,statement1, statement2... statementn(所有ThenandEnd之間的語句) 將執行
- Ifcondition返回假,ThenandEnd之間的語句不會執行,程式繼續執行End
後的第一個語句。If通常在條件的Then之後手動插入冒號,然後輸入
:If X=5:Then :statements :End
示例- Prompt X
- If X≥5
- Then
- Disp "You entered",X
- Disp "X ≥ 5"
- End
當程式執行時,它將顯示為
X=?5
You entered
5
X ≥ 5
If Else用於程式設計師需要做出選擇的情況,如果條件返回非零,則執行語句,但如果條件返回零,則執行其他語句。無論哪種方式,只有一組指令被執行。
:If condition :Then :trueStatements :Else :falseStatements :End
- 其中condition是任何導致零或非零結果的語句。
- Ifcondition返回非零,trueStatements(在ThenandElse之間的指令) 將執行,然後執行End被執行
- Ifcondition後的指令返回零,(在ElseandEndfalseStatementsEnd被執行
示例
) 被執行,然後執行- If X≥5
- Then
- Disp "Hello World I'm"
- Disp "Big like five"
- Else
- Disp "Goodbye World"
- Disp "I'm small like four"
- End
將顯示
Hello World I'm Big like Five
如果X 大於或等於 5,但如果X 小於 5,則將顯示以下內容
Goodbye World I'm small like four
需要注意的是,TI-Basic 不支援 else if 語句。但是,要解決這個問題,可以將條件塊巢狀在Else程式碼塊的一部分。例如,在傳統的程式語言中,以下...
if (condition1) {
statements1
} else if (condition2) {
statements2
} else if (condition3) {
statements3
} else {
statements4
}
將在 TI-Basic 中記為
- If condition1
- Then
- statements1
- Else
- If condition2
- Then
- statements2
- Else
- If condition3
- Then
- statements3
- Else
- statements4
- End
- End
- End
然而,這很難閱讀,因此在這個例子中,我們將新增空格以使其更清晰 (在實踐中,您不能新增額外的空格。您將收到語法錯誤。)
- If condition1
- Then
:statements1
- Else
:If condition2
:Then
:statements2
:Else
:If condition3
:Then
:statements3
:Else
:statements4
:End
:End
- End
嘗試以下示例以練習使用條件語句。
編寫一個程式,當給定一個數字時,確定該數字是偶數還是奇數,並將結果列印到螢幕上。
為了幫助您編寫此程式,您可以使用remainder((MATH NUM 0)。它返回將被除數除以除數後的餘數。語法為remainder(是
remainder(dividend,divisor)
舊版本的 TI-84 Plus 和 TI-83s 沒有計算餘數的功能。但是,這仍然可以透過替代解決方案計算
fPart(A/B)*B
* 其中 A 是被除數,B 是除數。
解決方案
|
|---|
|
體重指數 (BMI) 是根據人的體重和身高得出的一個值。一個人的 BMI 是用以下公式計算的:。一個人的 BMI 值可以透過下表進行分類
| BMI | 類別 |
|---|---|
| < 18.5 | 體重不足 |
| 18.5-24.9 | 健康 |
| 25-29.9 | 超重 |
| 30+ | 肥胖 |
編寫一個程式,接受使用者輸入的人的體重(公斤)和身高(米),並顯示他們的 BMI 和類別。
解決方案
|
|---|
|
:ClrHome :Input "HEIGHT = ",H :Input "WEIGHT = ",W :W/H^2→X :Disp "BMI = ",X :If X<18.5 :Disp "UNDERWEIGHT" :If X≥18.5 and X≤24.9 :Disp "HEALTHY" :If X≥25 and X≤29.9 :Disp "OVERWEIGHT" :If X≥30 :Disp "OBESE"
|