从分数转换为小数,反之亦然,TI 83 basic

时间:2015-11-07 23:03:55

标签: ti-basic

如果知道两个点,我有一个代码来计算一条线的斜率;但是,它只返回十进制格式的斜率。我希望能够选择将小数转换为分数。这是我到目前为止所做的:

: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键盘做的最好的代码。

3 个答案:

答案 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)

相同