一元二次方程(可顯示已簡化根複數版)
程式新版
程式修改日期: 2007年6月10日 (更新日期: 2008年9月20日)
這個程式可以計算一元二次方程的實根,另外若果輸入數據為整數或分數及方程的根為有理數時,根會以分數形式表示,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 1 2 ),若為無理數,根亦可用根號形式表示。 第二個程式雖然較為精簡,但速度可能會較慢,因此若果許可的情況下,請盡量使用第一個程式。
注意輸入程式時,要先進入複數模式(先按Mode 2),否則程式不能計複數根(複數根時會出現Math error)。
第一個程式 (83 bytes,使用記憶為A, B, C及M)
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
(√C - B)┘(2A◢ -B┘A - Ans◢ B┘- 2A◢
Sci 5: Lbl 0: 1M+: √(C÷M→B: Rnd:
Ans≠B => Goto 0: Norm 1: 1┘(2A)B◢ M
第二個程式 (74 bytes,使用記憶A, B及M)
?→A: ?→B: ?→M: B┘- 2A→B:
Ans2 - M┘A→A: MM-: B + √A◢ B - √A◢ B◢
Sci 5: Lbl 0: 1M+: √(A÷M→B: Rnd: Ans≠B => Goto 0:
Norm 1: B◢ M
第三個程式 (共115 bytes,使用記憶為A, B, C及M)
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
1┘(2A)(√C - B◢ -B┘A - Ans◢ √C2→M:
B┘- 2A◢ -Ans┘B√CM-1→A: 1: Fix 0: Lbl 0:
Rnd: √M Ans-1 - . 5: Rnd: Ans→B: M ÷ B2→C:
Rnd: C - Ans => C + . 5 => Goto 0: Norm 1: AB◢ C
例題1: 解 21x2 - 11x - 2 = 0
按 Prog 1 再按 21 EXE - 11 EXE - 2 EXE (顯示第一個根為2/3)
EXE (顯示第二個根為 -1/7)
(注意: 若果無需要以根式表示或根為整數/分數(有理數),可以直接按AC終止程式)
例題2: 解 x2 - 8x + 3 = 0
按 Prog 1 再按 1 EXE - 8 EXE 3 EXE (顯示第一個根為7.60555)
EXE (顯示第二個根為 0.394449)
EXE (顯示4)
EXE (顯示1)
EXE (顯示13)
所以方程的根為 4 ±1√13
例題3: x2 + 7x + 15 = 0
按 Prog 1 再按 1 EXE 7 EXE 15 EXE ( 此時計算機右上角出現R<=>I,表示為複數解)
(顯示第一個根的實數部為 -7/2) 再按 Shift Re<=>Im (顯示第一個根虛數部為 1.6658)
EXE (顯示第二個根的實數部為 -7/2) 再按 Shift Re<=>Im (顯示第二個根虛數部為 - 1.658)
EXE (顯示頂點的x座標為 -7/2)
EXE (顯示 1/2 i)
EXE (顯示 11)
所以方程的解為 x = -7/2 ± (1/2)√11i
程式執行完成後,第一個程式按 RCL C顯示判別式的值,第三個程式按 RCL M示判別式。
註1: 若兩根為整數及分數,表示為有理數,亦即沒有必要計算根式表示式,請直接AC終止程式。若根為複數,實數部及虛數部可以用實數或分數表示,同樣亦表示沒有必要計算根式表示式,可以直接AC終止程式。
註2: 第一及第二個程第一個程式輸入的係數必須為整數、分數及有限小數,否則計算根式表示式的結果可能不成立。 另外輸入分數係數時,計算根式表示式的速度可能會較慢,特別是fx-3650P計算分數平方根時會較明顯變慢 ,Truly SC185速度較快,表現會較為理想。
註3: 第二個程式計算根式表示式速度最慢。
註4: 第三個程式輸入的係數必須為整數,否則計算根式表示式的結果可能不成立。
註5: 第三個程式使用了較快計算平方根化簡程式,能夠有效處理各種不同情況下整數平方根化簡。