TI-Basic Z80 编程/条件语句
条件语句 允许程序根据某些条件执行不同的路径。这些允许程序执行测试,然后根据测试结果采取行动。
条件 用于控制程序的路径。条件通过使用关系运算符 对不同值进行比较。这些包括=, ≠, >, ≥, <, ≤. 关系运算符总是返回真或假结果(称为布尔值)。要使用它们,在运算符的两边输入要比较的值
X
的值为5
,而第二行将返回真,如果3X+2
的值大于或等于F
要输入关系运算符,请按 2ND [TEST]. 您可能还想同时测试两个不同的条件,并使用逻辑运算符 将它们连接起来。这些包括and, or, xor, 和not. 基本语法与关系运算符类似。
要输入逻辑运算符,请按 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
示例- Prompt X
- If X≥5
- Then
- Disp "You entered",X
- Disp "X ≥ 5"
- End
当程序运行时,它将显示为
X=?5 You entered 5 X ≥ 5
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
需要注意的是,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 是除数。
解决方案
|
---|
|
体重指数 (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"
|