跳转到内容

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 编程

华夏公益教科书