TI-BASIC 中的二次方程求解器 returns 不正确的根

Quadratic equation solver in TI-BASIC returns incorrect roots

当我在高中时,我想出了如何为我的 TI-84 Plus 计算器编程来为我计算二次方程。就像我以前的双鞋一样,我在期末考试前删除了程序。我现在正在尝试重新创建该程序,但效果不佳。这是我的代码:

:Prompt A, B, C
:(-B+√(B²-4AC))/2A→Y
:(-B-√(B²-4AC))/2A→Z
:Disp Y
:Disp Z

对应计算器上的STO>(存储)按钮,允许用户为给定的字母变量设置一个值。)

据我所知,这个应该有效。数学和括号似乎是有序的,Prompt 函数起作用(程序完成后,要求计算器打印 A、B 和 C 匹配上次程序存储的值 运行).

当我要求它计算我已经知道答案的二次方程时,它给了我有趣的数字。输入 A=1B=-3C=2,其中 should return x-intercept values of 1 and 2, returns 2 and 0 instead. The x-intercepts of 0=3x²-10x+7 are 1 and 7/3,但计算器 returns 21 和 0。我现在无法重现,但是该程序还 return 在不应该存在的地方添加了一些虚数。

这段代码有什么问题?数学有效(将第二行和第三行代码输入计算器进行计算,而不是程序中的代码行,在将值存储在变量中后 return 得到正确的值),PromptDisp 功能有效;这里有什么问题?

操作顺序再次出现。表达式

(-B+√(B²-4AC))/2A

被解析为

((-B+√(B²-4AC))/2)*A

/(2A) 中添加括号以解决此问题。