如果知道两个点,我有一个代码来计算一条线的斜率;但是,它只返回十进制格式的斜率。我希望能够选择将小数转换为分数。这是我到目前为止所做的:
:Disp " "
:Input "PAIR 1: ",T
:Input "PAIR 2: ",U
:((LU(2)-LT(2))/(LU(1)-LT(2)))->M
:Disp "Slope Is: ",M
:Input "F>>D? Y/N: ",Str0
:If Str0="Y"
:(M>F<>D)->O
:Disp O
当我运行它时,我在转换步骤中得到ERROR:SYNTAX(实际的斜率计算成功完成。)
**我上面输入的一些代码并不完全与TI 84中显示的代码完全相同,但它是我用QWERTY键盘做的最好的代码。
答案 0 :(得分:4)
►Frac
和►F◄►D
是展示代币,而不是转化代币 TI计算器只能以一种方式存储数字:采用专有的浮点格式。这意味着数字不能从分数“转换”为十进制,反之亦然,只有显示作为分数或小数。因此,存储到任何内容(例如3►F◄►D→X
)都会引发语法错误。
使用 MODE 菜单中的Auto
/ Dec
/ Frac
令牌更改显示模式; ►Frac
覆盖模式并显示为分数近似值,►Dec
显示为十进制,►F◄►D
告诉计算器以与当前设置相反的显示模式显示。
引自this page:
►Frac尝试以分数形式显示输入。它仅适用于程序外部的主屏幕,或程序中的Disp和Pause命令。
答案 1 :(得分:1)
问题在于
(M>F<>D)->O
Disp O
当它可以简单地表达为
时,没有理由以这种方式格式化Disp M>F<>D
正确计算。
答案 2 :(得分:0)
从十进制转换为分数的一种方法是使用欧几里德算法。这是基本的
:Ans→X:{1,abs(Ans
:Repeat E‾9>Ans(2
:abs(Ans(2){1,fPart(Ans(1)/Ans(2
:End
:round({X,1}/Ans(1),0
:Ans/gcd(Ans(1),Ans(2
Ans
是您要转换的小数
和E‾9
与10 ^( - 9)