TI-Basic Z80 编程/条件语句
条件语句允许程序根据某些条件采取不同的路径。它们允许程序执行测试,然后根据测试结果采取行动。
条件 用于控制程序的路径。条件使用关系运算符来执行不同值之间的比较。这些包括=, ≠, >, ≥, <, ≤. 关系运算符总是返回真或假结果(称为布尔值)。要使用它们,在运算符的两侧键入要比较的值
X
的值等于5
,第二行将返回真,如果3X+2
的值大于或等于F
要键入关系运算符,请按 2ND [TEST]. 您可能还想同时测试两个不同的条件,并使用逻辑运算符将它们连接起来。这些包括and, or, xor, andnot. 基本语法类似于关系运算符。
要键入逻辑运算符,请按 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
示例Disp "X ≥ 5"
X=?5 You entered 5 X ≥ 5
当程序运行时,它将显示为
If Then Else End语法
s 用于当程序员需要做出选择时,如果条件返回非零,则执行语句,但如果条件返回零,则执行其他语句。无论哪种方式,只有一组指令被执行。:If condition :Then :trueStatements :Else :falseStatements :End
- 其中condition[编辑 | 编辑源代码]
- Ifcondition是任何导致零或非零结果的语句。返回非零,trueStatementsThenandElse) 之间的指令将执行,然后执行End被执行
- Ifcondition之后的指令返回零,trueStatementsElseandEndfalseStatementsEnd被执行
示例
) 将执行,然后执行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
小于五,则将显示以下内容需要注意的是,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 是除数。
解决方案
|
---|
|
身体质量指数 (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"
|