跳转到内容

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

华夏公益教科书