跳轉到內容

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

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

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

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

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

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

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

之後的第一個語句繼續執行。IfThen條件中手動插入冒號,然後鍵入

. 例如

:If X=5:Then :statements :End

示例
[編輯 | 編輯原始碼]
Prompt X
Then
If X≥5
Disp "You entered",X
End

Disp "X ≥ 5"

X=?5
You entered
               5

X ≥ 5

當程式執行時,它將顯示為

If Then Else End

[編輯 | 編輯原始碼]If Else

語法

s 用於當程式設計師需要做出選擇時,如果條件返回非零,則執行語句,但如果條件返回零,則執行其他語句。無論哪種方式,只有一組指令被執行。
:If condition
:Then
:trueStatements
:Else
:falseStatements
:End
  • 其中condition[編輯 | 編輯原始碼]
    • Ifcondition是任何導致零或非零結果的語句。返回非零,trueStatementsThenandElse) 之間的指令將執行,然後執行End被執行
    • Ifcondition之後的指令返回零,trueStatementsElseandEndfalseStatementsEnd被執行

示例

) 將執行,然後執行
Prompt X
Then
之後的指令
[編輯 | 編輯原始碼]
Else
Disp "Goodbye World"
Disp "Hello World I'm"
End

Disp "Big like five"

Hello World I'm
Big like Five

Disp "I'm small like four"

Goodbye World
I'm small like four

將顯示

如果X大於或等於五,但如果X小於五,則將顯示以下內容

Else If 替代方案Else[編輯 | 編輯原始碼]

需要注意的是,TI-Basic 不支援 else if 語句。但是,為了解決這個問題,可以將條件塊巢狀在

   statements1

部分中。例如,在傳統的程式語言中,以下程式碼...

   statements2

if (condition1) {

   statements3

} else if (condition2) {

   statements4

}

在 TI-Basic 中,它將被表示為

如果 條件1
Then
語句1
Else
如果 條件2
Then
語句2
Else
如果 條件3
Then
語句3
Else
語句4
End
End
End

但是,這很難閱讀,因此在這個例子中,我們將新增空格使其更清晰(**在實踐中,您不能新增額外的空白。您將收到語法錯誤。**)

如果 條件1
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
如果 remainder(N,2)≠0 // 如果 N 和 2 的餘數不等於 0,
那麼 // 那麼,
Disp "ODD" // 顯示 "ODD"。
否則 // 否則,
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 程式設計

華夏公益教科書