2017-05-12 9 views
0

私が高校に通っていたとき、TI-84 Plus電卓を使って2次方程式をプログラムする方法を考え出しました。私が好きだった靴のように、私は最終試験の前にプログラムを削除しました。私は今プログラムを作り直そうとしていますが、うまくいきません。ここに私のコードは次のとおりです。TI-BASICの二次方程式ソルバが間違った根を返します

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

は、ユーザーが指定した文字変数の値を設定することができます電卓、上STO>(ストア)ボタンに相当します。)

限り私は、このする必要がありますと言うことができます。数学と括弧が順番に並んでいるようですが、Prompt関数は機能します(プログラムが終了した後、最後にプログラムが実行されたときに格納された値にA、B、Cがマッチするように計算機に問い合わせます)。

私がすでに答えを知っている二次方程式を計算するように尋ねると、面白い数字が返されます。 A=1,B=-3,C=2should return x-intercept values of 1 and 2)と入力すると、代わりに2と0が返されます。 x - インターセプトは0 =3x²-10x + 7 are 1 and 7/3ですが、計算機は21と0を返します。今は再現できませんが、このプログラムでは、 。

このコードで何が問題になっていますか?算術演算(プログラムのコード行とは異なり、変数に値を格納した後に正しい値が返されます)を計算するために計算の第2行と第3行を計算に入力すると、PromptDisp関数が機能します。何がここに間違っている?

+0

FWIW、私のコードは、[ここのコード](http://www.instructables.com/id/Quadratic-Formula-for-the-TI-83-and-84/)とほぼ同じですもう少し空想。そのコードは、表面的に動作します。 – Shokhet

+1

私はテストに便利なTI-83エミュレータを持っていませんが、 '(2A)'をかっこにしてみることはできますか? – duskwuff

+0

@ duskwuff Huh。それはそれをしたようだ。ありがとう! ...あなたは答えを書いてほしいですか、それとも私はしますか? – Shokhet

答えて

2

操作手順がもう一度行われます。表現

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

は、この問題を解決するために/(2A)に括弧を追加

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

として解析されています。

+0

ありがとうございます! ... 3分で受け入れを期待する:D – Shokhet

+3

'A = 1'は両方の解釈で同じ結果を与えるべきであるので、最初の例がどのようにして起こる可能性がありますか? – LutzL

+0

@LutzL分裂記号が減算に置き換えられた場合、私はそれが起きることが分かりました。最初の例では{2,0}になります。 – Timtech

関連する問題