在TI-83/84 BASIC中,如何通过输入原始轴^ 2 + bx + c来计算三项式?

如果我的问题不明确,那么我在“方法2:英国方法”一节中对我试图做的事情进行了很好的解释:http://www.gradeamathhelp.com/how-to-factor-polynomials。 HTML 我当前的程序只输入了所有3个A,B和C变量,然后将A * C分配给D 然后我取D的绝对值的负值并将其分配给X和Y. 然后我简单地用if / then语句来测试X + Y = B和X * Y = D,如果没有,将.5添加到X直到它等于或大于D,此时我将X放回到它的位置orignial值并将.5添加到Y.这导致内存错误。 无视我使用if / then语句所做的糟糕的AWFUL习惯,是否有人能更好地了解我如何解决这个问题? (并且减少了一些懈怠,我只涉及java和python,有时甚至是TIBasic,而且我只是高中二年级学生!) 注意:此代码将无法运行,因为我正在重新创建它,它不是实际代码,只是一种娱乐。语法都被搞砸了。 (IE: - >是箭头,不是负等号) 我刚刚写了这篇文章,所以我可能忘了一些东西。
:Prompt A
:Prompt B
:Prompt C
:A*C→D 
:-abs(D)→X
:-abs(D)→Y
:Lbl A
:If X+Y=B and X*Y=D
:Then
:Disp X,Y
:Pause
:Else
:X+.5→X
:Goto B
:Lbl B
:If X>D
:-abs(D)→X
:Y+.5→Y
:Goto A
    
已邀请:
您的代码无法正常工作,因为每次使用“THEN”命令时都需要“END”命令。 END也用于关闭“REPEAT”,“FOR”和“WHILE”循环。为什么“IF,THEN”类型命令需要“END”?因为“IF,THEN”等同于:
   If X+Y=B and X*Y=D (
在典型的脚本中 “END”就像一个末端括号,因为“THEN”就像一个开括号。 如果只有一个命令需要执行,请执行类似的操作
    If X+Y=B and X*Y=D
    do this
这是什么样的
    If X+Y=B and X*Y=D do this
我不确定这是因为我不确定你想要做什么,但我认为代码是:
    :Prompt A
    :Prompt B
    :Prompt C
    :A*C -> D 
    :-abs(D) -> X
    :-abs(D) -> Y
    :lbl A
    :if X+Y=B and X*Y=D
    :then
    :disp X,Y
    :pause
    :else
    :X+.5 -> X
    :goto B
    :end
    :lbl B
    :if X>D
    :-abs(D) -> X
    :Y+.5->Y
    :goto A
如果X + Y = B且X * Y = D,它将显示正确的答案,但如果不是,它将向X添加0.5,并继续到lbl B.Within lbl B,它将检查以检查是否X> D ;如果X大于D,那么D的负绝对值将被存储为X,Y将增加0.5,并且它将在lbl A中再次重新检查这些值。 另外,关于lbl B的说明:
    :if X>D
    :-abs(D) -> X
    :Y+.5->Y
    :goto A
只有当X> D时才会将D的负绝对值存储为X.无论X是否大于或小于D,Y都会增加0.5。不确定这是不是你想要的,但万一我认为我会引起你的注意。     
有一种更简单的方法可以做到这一点。设置
a+bi
可确保程序显示虚数而不是错误。
"
表示评论。最后,添加最后一行消除了“完成”消息。
: "Clear and request input
: ClrHome
: a+bi
: Disp "ax^2+bx+c=0"
: Input "a. ",A
: Input "b. ",B
: Input "c. ",C

: "Doing the maths
: Disp (-B+√(B^2-4AC))/(2A)
: Disp (-B-√(B^2-4AC))/(2A)
: "
代码本身非常自我解释,它要求变量
a
b
c
,然后它代入二次公式并打印。     
可从以下网址下载:http://www.ticalc.org/pub/83/basic/math/algebra/     

要回复问题请先登录注册