1

对于 ti-84 程序,我使用二次方程并将加号的根存储为 N,将负号的根存储为 R。然后我只想使用正根作为程序其余部分的值(如果两者都是正面的没关系我只想检查一个是正面的),所以我做了如下:

If N>0 --> U

ElseR-->U

但它没有用。是否不能在 if-else 语句中使用 store 作为命令?还是有另一种方法只选择正变量并将其存储为 U?

4

2 回答 2

3

好的,听着。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
于 2015-03-08T13:28:17.687 回答
1

这可以通过您的标准语句很容易地If完成Else;但是,一种更快的方法是通过分段函数。在 TI-Basic 中,每个布尔表达式的计算结果都是10,分别代表真和假。可以利用这一事实来使某些条件表达式更短。

您的代码使用标准If Else语法:

If N>0
Then
N→U
Else
R→U
End

此选项长 18 个字节。

使用分段表达式,您的代码可以压缩为:

N<0:RAns+Nnot(Ans→U

导致一行代码只有 12 个字节长。

于 2015-03-08T11:40:09.247 回答