一元二次方程(II)

程式新版

程式修改日期: 2006年1月7日 (更新日期: 2008年9月19日)

這兩個程式可解一元二次方程(實根)、亦可計頂點的(x,y)座標及判別式的值。第二個程式採用了較快計算平方根化簡程式,所以程式較長一點。另外若果輸入數據為整數或分數及方程的根為有理數時,根會以分數形式表示,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 1 2 ),若為無理數,根亦可用根號形式表示

 

第一個程式 (共84 bytes,使用記憶為A, B, C及M )

?→A: ?→B: ?→M: B┘- 2A→B◢ AB2 M-:

- 4AM→C: MM-◢ B + √-Ans┘A◢  2B - Ans◢ B◢

Sci 5: Lbl 0: 1M+: √(C÷M→B: Rnd: Ans≠B => Goto 0:

Norm 1: B┘(2A ◢ M

 

第二個程式 (共102 bytes,使用記憶為A, B, C及M )

?→A: ?→B: ?→M: B┘- 2A→B◢ AB2 M-:

- 4AM→C: M◢ B + √-Ans┘A◢  2B - Ans◢ B◢

1: Fix 0: Lbl 0: Rnd: √C Ans-1 - . 5: Rnd:

Ans→B: C ÷ B2→M: Rnd: M - Ans => M + . 5

=> Goto 0: Norm 1: B┘(2A◢ M

 

如何用這個程式計二次函數的因式分解

頂點功能求配方法算式

程式精簡版本

 

例題1: 解 21x2 - 11x - 2 = 0

按 Prog 1  再按 21 EXE - 11 EXE - 2 EXE (顯示頂點的x座標為11/42)

EXE (顯示頂點的y座標或二次函數的極小值為 -289/84)

EXE (顯示第一個根為2/3)

EXE (顯示第二個根為 -1/7)

(注意: 若果無需要以根式表示或根為整數/分數(有理數),可以直接按AC終止程式)

 

例題2: 解 x2 - 8x + 3 = 0

按 Prog 1  再按 1 EXE - 8 EXE 3 EXE (顯示頂點的x座標為 4)

EXE (顯示頂點的y座標或二次函數的極小值為 - 13)

EXE (顯示第一個根為7.60555)

EXE (顯示第二個根為 0.394449)

EXE (顯示4)

EXE (顯示1)

EXE (顯示13)

所以方程的根為  4 ±1√13

程式執行完成後,按 RCL C顯示判別式的值。

 

註1: 第一個程式若要應用計算複數根及複數根式的表示式,請將程式近最後的"B┘(2A"改為"1┘(2A)B",並在複數模中輸入程式。

註2: 若兩根為整數或分數,表示為有理數,亦即沒有必要計算根式表示式,請直接AC終止程式。

註3: 第一個程式輸入的係數必須為整數、分數及有限小數,否則計算根式表示式的結果可能不成立。另外輸入分數係數則可能要計算較多分數平方根問題,計算根式表示式的速度可能會較慢,特別是fx-3650P計算分數平方根時會較明顯變慢。Truly SC185速度較快,表現會較為理想。

註4: 第二個程式輸入的係數必須為整數,否則計算根式表示式的結果可能不成立。

註5: 第二個程式使用了較快計算平方根化簡程式,能夠有效處理各種不同情況下整數平方根化簡。

 

附錄 (兩根儲存在X及Y中)

第一個程式有記存兩根版本 (共88 bytes,使用記憶為A, B, C, X, Y及M )

?→A: ?→B: ?→M: B┘- 2A→B◢ AB2 M-:

- 4AM→C: MM-◢ B + √-Ans┘A→X◢ 

2B - Ans→Y◢ B◢ Sci 5: Lbl 0: 1M+:

√(C÷M→B: Rnd: Ans≠B => Goto 0:

Norm 1: B┘(2A ◢ M

 

第二個程式有記存兩根版本 (共106 bytes,使用記憶為A, B, C, X, Y及M )

?→A: ?→B: ?→M: B┘- 2A→B◢ AB2 M-:

- 4AM→C: M◢ B + √-Ans┘A→X◢ 

2B - Ans→Y◢ B◢1: Fix 0: Lbl 0: Rnd:

√C Ans-1 - . 5: Rnd: Ans→B: C ÷ B2→M:

Rnd: M - Ans => M + . 5 => Goto 0: Norm 1:

B┘(2A◢ M

 

返回 fx-3650P及SC-185程式集