跳轉到內容

TI-Basic Z80 程式設計/條件語句

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

條件語句 允許程式根據某些條件執行不同的路徑。這些允許程式執行測試,然後根據測試結果採取行動。

條件 用於控制程式的路徑。條件透過使用關係運算符 對不同值進行比較。這些包括=, , >, , <, . 關係運算符總是返回真或假結果(稱為布林值)。要使用它們,在運算子的兩邊輸入要比較的值

X=5 F≥3X+2
* 第一行將返回真,如果X 的值為5,而第二行將返回真,如果3X+2 的值大於或等於F

要輸入關係運算符,請按 2ND [TEST]. 您可能還想同時測試兩個不同的條件,並使用邏輯運算子 將它們連線起來。這些包括and, or, xor, 和not. 基本語法與關係運算符類似。

X>5 and X<9 F=3 or N=3

要輸入邏輯運算子,請按 2ND [TEST] LOGIC. 對於以下列表,請考慮格式A op B,其中AandB是條件,並且op是邏輯運算子。其中op等於...

  • and, 整個條件僅在AandB都為真時才返回真。
  • or, 整個條件在至少一個AandB為真時才返回真。
  • xor, 整個條件僅在其中一個AorB為真時才返回真。

Thenot運算子很特殊,因為它不直接比較兩個條件。相反,它否定巢狀在其中的條件。例如

not(X=5)
* 這將在X不等於 5 時返回真。

要使用條件語句,必須將它們放在條件塊 中。條件塊包含要測試的條件和要執行的程式碼。以下部分介紹了 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

[編輯 | 編輯原始碼]

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 Then Else End

[編輯 | 編輯原始碼]

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

Else If 解決方法

[編輯 | 編輯原始碼]

需要注意的是,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 是除數。

解決方案
Prompt N // 詢問使用者輸入 N
If remainder(N,2)≠0 // 如果 N 和 2 的餘數不等於 0,
Then // 那麼,
Disp "ODD" // 顯示 "ODD"。
Else // 否則,
Disp "EVEN" // 顯示 "EVEN"。
End // 結束 if 塊

體重指數 (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"


上一頁: 輸入
下一頁: 迴圈
目錄: TI-Basic Z80 程式設計

華夏公益教科書