小數轉換分數(III)
第(III)版的兩個程式為第(II)版的改良版本,程式能夠容許較大 一點的誤差,亦即是經過較多複雜計算後,在增累積誤差增大一點的情況下,舊版不能成功轉化為分數(錯誤地轉化為很大數值的分數),但這個程 式卻可以正確得出答案(成功率較高)。另外這個程式亦可以直接計算循環小數轉換分數的問題(只要輸入十位的數值即可)。
第(III)版的第二個程式雖然比第一個程式長了3步,但保留多一個記憶沒有使用,能夠配合更多其它程式同時使用。
程式編寫日期: 2007年1月24日
第一個程式(49步)
1 | 1/x | 2. | Kin 5 | 3. | X←→Y | 4. | Kin × 2 | 5. | Kin × 3 |
6. | Kin × 4 | 7. | Kin × 6 | 8. | cos-1 | 9. | sin | 10. | Kin × 5 |
11. | Kin + 2 | 12. | Kout 5 | 13. | Kin + 3 | 14. | Kin + 4 | 15. | Kout 3 |
16. | 1/x | 17. | Kin 3 | 18. | Fix 0 | 19. | RND | 20. | Kin 5 |
21. | Kin - 3 | 22. | Kout 6 | 23. | Kin × 5 | 24. | X←→K2 | 25. | Kin + 5 |
26. | 1 | 27. | X←→Y | 28. | Kout 5 | 29. | Kin 6 | 30. | x2 |
31. | √ | 32. | X←→K4 | 33. | Kin ÷ 4 | 34. | X←→K4 | 35. | SCI 9 |
36. | RND | 37. | Kin 5 | 38. | FIX 0 | 39. | RND | 40. | Kin - 5 |
41. | X←→K5 | 42. | x2 | 43. | x > 0 | 44. | NORM | 45. | Kout 5 |
46. | HLT | 47. | Kout 6 | 48. | x2 | 49. | √ | 50. |
LRN 模式輸入第一個程式(供 fx-3800P使用,程式長度: 49步 )
注意: 在輸入程式碼前請先按 1 再按 P1或P2 輸入程式碼
1/x | Kin 5 | X←→Y | Kin × 2 | Kin × 3 |
Kin × 4 | Kin × 6 | cos-1 | sin | Kin × 5 |
Kin + 2 | Kout 5 | Kin + 3 | Kin + 4 | Kout 3 |
1/x | Kin 3 | Fix 0 | RND | Kin 5 |
Kin - 3 | Kout 6 | Kin × 5 | X←→K2 | Kin + 5 |
1 | X←→Y | Kout 5 | Kin 6 | x2 |
√ | X←→K4 | Kin ÷ 4 | X←→K4 | SCI 9 |
RND | Kin 5 | FIX 0 | RND | Kin - 5 |
X←→K5 | x2 | x > 0 | NORM | Kout 5 |
HLT | Kout 6 | x2 | √ | MODE . |
第二個程式(52步)
1 | 1/x | 2. | Kin 5 | 3. | X←→Y | 4. | Kin × 3 | 5. | Kin × 4 |
6. | Kin × 6 | 7. | cos-1 | 8. | sin | 9. | Kin × 5 | 10. | Kin + 6 |
11. | Kout 5 | 12. | Kin + 3 | 13. | Kin + 4 | 14. | Kout 3 | 15. | 1/x |
16. | Kin 3 | 17. | Fix 0 | 18. | RND | 19. | Kin 5 | 20. | Kin - 3 |
21. | 0 | 22. | = | 23. | Kin × 5 | 24. | X←→K6 | 25. | Kin + 5 |
26. | Kout 5 | 27. | + | 28. | ( | 29. | 1 | 30. | X←→Y |
31. | Kout 5 | 32. | x2 | 33. | √ | 34. | X←→K4 | 35. | Kin ÷ 4 |
36. | X←→K4 | 37. | SCI 9 | 38. | RND | 39. | Kin 5 | 40. | FIX 0 |
41. | RND | 42. | Kin - 5 | 43. | X←→K5 | 44. | x2 | 45. | x > 0 |
46. | NORM | 47. | Kout 5 | 48. | HLT | 49. | 0 | 50. | = |
51. | x2 | 52. | √ | 53. | 54. | 55. |
LRN 模式輸入第二個程式(供 fx-3800P使用,程式長度: 52步 )
注意: 在輸入程式碼前請先按 1 再按 P1或P2 輸入程式碼
1/x | Kin 5 | X←→Y | Kin × 3 | Kin × 4 |
Kin × 6 | cos-1 | sin | Kin × 5 | Kin + 6 |
Kout 5 | Kin + 3 | Kin + 4 | Kout 3 | 1/x |
Kin 3 | Fix 0 | RND | Kin 5 | Kin - 3 |
0 | = | Kin × 5 | X←→K6 | Kin + 5 |
Kout 5 | + | ( | 1 | X←→Y |
Kout 5 | x2 | √ | X←→K4 | Kin ÷ 4 |
X←→K4 | SCI 9 | RND | Kin 5 | FIX 0 |
RND | Kin - 5 | X←→K5 | x2 | x > 0 |
NORM | Kout 5 | HLT | 0 | = |
x2 | √ | MODE . |
例題1: 將0.75化為分數。
按 0.75 P1 (顯示分子為3) RUN (顯示分母為4)
例題2: 將循環小數 9.1919.......轉化為分數。
按 9.1 9191 9191 (輸入十位數值)
再按 P1 (顯示分子為910) RUN (顯示分母為99,即910/99)
例題3: 將循環小數 0.123123........化為分數
注意: 若果要確保循環小數能正確轉化為分數,要輸入十位有效數字,所以若果數值絶對值小於1,請以10指數形式輸入十位數值。
按 1.23 123 123 1 EXP +/- 1 (小於1數值以10的指數形式輸入10位數值)
再按 P1 (顯示分子為41) RUN (顯示分母為333,即41/333)
註1: 計算循環小數轉化分數時,要輸入十位有效數字。
註2: 由於計數機本身準確度的限制,當分子或分母是5位整數或大於5位整數時,分數的答案有可能會是一個近似值的答案(亦即是有可能並非真確值,特別是無理數所產生的小數)。
註3: 第一個程式保留記憶K1及M沒有使用,第二個程式則保留記憶K1、K2及M沒有使用,因此第二個程式能同時配合更多其它程式一起使用。
註4: 本網站的 fx-3900PV程式(除數值法程式外),大多數有記存答案的程式,會盡可能將第一個答案(及第二個答案(如有))儲存在K1及K2中,第二個程式若要配合更多其它程式使用時,請先將沒有記存在K1、K2及M的數值答案轉化為分數,若果答案不是記存在以上三個記憶,請自行先記憶在這三個記憶中,以便其後提取數值轉化為分數。