对于 ti-84 程序,我使用二次方程并将加号的根存储为 N,将负号的根存储为 R。然后我只想使用正根作为程序其余部分的值(如果两者都是正面的没关系我只想检查一个是正面的),所以我做了如下:
If N>0 --> U
ElseR-->U
但它没有用。是否不能在 if-else 语句中使用 store 作为命令?还是有另一种方法只选择正变量并将其存储为 U?
对于 ti-84 程序,我使用二次方程并将加号的根存储为 N,将负号的根存储为 R。然后我只想使用正根作为程序其余部分的值(如果两者都是正面的没关系我只想检查一个是正面的),所以我做了如下:
If N>0 --> U
ElseR-->U
但它没有用。是否不能在 if-else 语句中使用 store 作为命令?还是有另一种方法只选择正变量并将其存储为 U?
好的,听着。Blazo 的回答是错误的。每个具有 Else 的 If 语句也需要 Then 和 End。这是在没有分段表达式的情况下编写它的正确方法(分段表达式通常是最好的方法,所以我建议您也查看 dohaqatar 的答案):
If N>0
Then
N->U
Else
R->U
End
使用两个单独的 If,您可以将代码的大小减少 1 个字节到 17 个字节:
If N>0
N->U
If N<=0
R->U
您可以进一步压缩它,节省 5 个字节以形成 12 个字节:
R->U
If N>0
N->U
您还可以使用分段表达式,例如下面的 dohaqatar,也是 12 个字节:
N<0:RAns+Nnot(Ans->U
最好的部分是,算法更改将代码大小减少到 6 个字节:
max(R,N->U
这可以通过您的标准语句很容易地If
完成Else
;但是,一种更快的方法是通过分段函数。在 TI-Basic 中,每个布尔表达式的计算结果都是1
或0
,分别代表真和假。可以利用这一事实来使某些条件表达式更短。
您的代码使用标准If
Else
语法:
If N>0
Then
N→U
Else
R→U
End
此选项长 18 个字节。
使用分段表达式,您的代码可以压缩为:
N<0:RAns+Nnot(Ans→U
导致一行代码只有 12 个字节长。