一元二次方程特別版
程式編寫日期: 2008年1月20日
第一版程式輸入係數為整數或分數準確度較高,若果輸入小數係數,準確度有可能會減少一點,所以求得的小數答案(循環小數),有可能不能轉化為分數,而特別版可以解決這方面的問題。
註: 若果想測試你的一元二次方程程式的準確度是否很高,可以嘗試輸入以下有小數係數的一元二次方程,看看可否將0.333333333的答案轉化為(按 a b/c)分數 1/3 .
測試方程: 0.03x2 - 3.01x + 1 = 0
注意:若果你不用計複數根,為被免混淆及使用方便,建議在Comp Mode之下輸入程式(先按Mode 1)。若要計複數根,先進入複數模式(先按Mode 2),然後輸入程式,當執行程式時,程式會自動進入複數模式。
注意 : 若果不需要記存兩根,程式中綠色部份可以不輸入。
第一個程式 (47 / 43 bytes,可求兩根及判別式)
?→A: ?→B: ?→C: B2 - 4AC→C:
-1÷(2A→D: D(B - √( C→A◢ D(B + √( C→B
第二個程式(分數版) (47 /43 bytes,可求兩根及判別式)
?→A: ?→B: ?→C: B2 - 4AC→C:
-1┘(2A→D: D(B - √( C→A◢ D(B + √( C→B
例題1: 解 21x2 - 11x - 2 = 0
第一個程式的按法:
按 Prog 1 再按 21 EXE - 11 EXE - 2 EXE
(顯示第一個根為0.666666666,若再按 a b/c,顯示 2/3) EXE
(顯示第二個根為 -0.142857142,若再按 a b/c,顯示- 1/7)
第二個程式的按法:
按 Prog 1 再按 21 EXE - 11 EXE - 2 EXE (顯示第一個根為2/3)
EXE (顯示第二個根為 -1/7)
程式執行完,按 RCL C顯示判別式的值為289。
例題2: 解 x2 + 6x + 25 = 0
假設程式是在複數模式中輸入
按 Prog 1 再按 1 EXE 6 EXE 25 EXE ( 此時計算機右上角出現R<=>I,表示為複數解)
(顯示第一個根的實數部為-3) 再按 Shift Re<=>Im (顯示第一個根虛數部為 4)
EXE (顯示第二個根的實數部為-3) 再按 Shift Re<=>Im (顯示第二個根虛數部為 - 4)
所以方程的解為 x = -3 ± 4i
程式執行完,按 RCL C顯示判別式的值為 - 64。
註: 第一個及第二個程式的兩根及判別式分別記存在記憶A,B及C.
第三個程式 (55 / 51 bytes,可求頂點,兩根及判別式)
?→A: ?→B: ?→C: B2 - 4AC→C:
- 1÷( 2A→D: BD◢ CD÷2◢
D(B - √( C→A◢ D(B + √( C→B
第四個程式(分數版) (55 / 51 bytes,可求頂點,兩根及判別式)
?→A: ?→B: ?→C: B2 - 4AC→C:
- 1┘(2A→D: BD◢ CD┘2◢
D(B - √( C→A◢ D(B + √( C→B
例題3: 解 21x2 - 11x - 2 = 0
第三個程式的按法:
按 Prog 1 再按 21 EXE - 11 EXE - 2 EXE
(顯示頂點的x座標為0.261904761,若要顯示分數 再按 a b/c,顯示11/42) EXE
(顯示頂點的y座標或二次函數的極小值為 3.44047619,若再按 a b/c,顯示-289/84)
EXE (顯示第一個根為0.666666666,若再按 a b/c,顯示 2/3)
EXE (顯示第二個根為 -0.142857142,若再按 a b/c,顯示- 1/7)
第四個程式的按法:
按 Prog 1 再按 21 EXE - 11 EXE - 2 EXE (顯示頂點的x座標為11/42)
EXE (顯示頂點的y座標或二次函數的極小值為 -289/84)
EXE (顯示第一個根為2/3)
EXE (顯示第二個根為 -1/7)
程式執行完,按 RCL C顯示判別式的值為289。
註: 第三個及第四個程式的兩根及判別式分別記存在記憶A,B及C.