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

Convert from fraction to decimal and vice versa, TI 83 basic

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

: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

当我运行这个时,我得到错误:转换步骤的语法(实际斜率计算成功完成。)

**我上面输入的一些代码与它在 TI 84 中的显示方式并不完全相同,但这是我使用 QWERTY 键盘所能做到的最好的。

问题出在线路

(M>F<>D)->O
Disp O

没有理由这样格式化,因为它可以简单地表示为

Disp M>F<>D

计算正确。

►Frac►F◄►D 是显示标记,不是转换标记

TI 计算器只能以一种方式存储数字:以其专有的浮点格式。这意味着数字不能从分数“转换”为小数,反之亦然,只能显示为分数或小数。因此,存储到任何内容(例如 3►F◄►D→X)都会引发语法错误。

使用 MODE 菜单中的 Auto/Dec/Frac 标记更改显示模式; ►Frac 覆盖模式并显示为分数近似值,►Dec 显示为小数,►F◄►D 告诉计算器以与其当前设置相反的显示模式显示。

引用自this page

►Frac attempts to display the input in fraction form. It only works on the home screen outside a program, or with the Disp and Pause commands in a program.

将小数转换为分数的一种方法是使用欧几里德算法。这是 ti-basic

: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)

相同