電卓サロン

関数電卓のプログラムでネイピア数を計算する

SHARP-EL-566

関数電卓で時間のかかる階乗(!)計算とプログラムを使って電卓を頑張らせることをやってみていました。ネイピア数の計算ですね。
カシオのfx-310Pでやると1分06秒でした。階乗計算が速いやつはどのくらいで終わるのでしょうか?いろいろな機種で比較してみたいですね。
ということで、今回はシャープのプログラマブル電卓でやってみました。

シャープEL-566を使う

シャープのプログラム機能付き関数電卓EL-566です。メルカリで1,000円でした。EL-566の表示は、2段表示になっていて上がドットマトリックス、下が7セグメントのタイプで、数式通り入力で入れるタイプです。最近のシャープのプログラマブル巻数電卓はループ機能とかが無い数式記憶タイプと聞いたことがあります。こちらはループが出来るタイプです。ジャンプもプログラムの初めに飛ぶのではなく、ループ開始点を指定できます。
たぶんfx-310Pよりは速いはず!

シャープのプログラム

EL-566のプログラムは、(2ndF)ー(マイナス)の「AER」でやります。入力がある場合はf()=のかっこ部分に変数を入れるらしい。プログラムは4つ入るのでしょうかね?(2ndF)に続いてイチバン上に1:~4:があるところを押すとそこにプログラムをいれることができます。

さてプログラムしてみましょう。ネイピア数のプログラム結構簡単なのでいいですね。


プログラム
(2ndF)AER(-ボタン) (2ndF)1:(DELボタン) (これで1番目の所のプログラム入力ができる)
(f()=)(ALPHA)A(ALPHA)B(f()=)0(STO⇒)M (2ndF) →(ループ始点)A(Y^x)B÷B (2ndF) !M+ (2ndF) ␣(スペース)B-1(STO⇒)B (2ndF) ␣(スペース) B (2ndF) >0 (2ndF) ーY→[ (2ndF) ←(ループ終点) (2ndF) ]1M+M (2ndF) ▲

記号メインだからわかりづらい…
電卓のオレンジ色で記号があるので、(2ndF)に続けて押せば入るやつです。カシオのfx-3150のように(shift)3の後に選ぶ方式ではないので入れやすいかも。ループはラベル式ではないのですが2重3重のループ組めるのかな?

プログラム実行

プログラム入力画面から=キー(ENT)を二回くらい押すと「A=?」と出るので、Aの1を入れて、Bを聞かれるので、ループ回数60を入れます。「f(AB)=」と入れたのでAとBを聞いてくるみたいです。そして入力数値を変数に入れてプログラムを実行する。

60回ループの実行結果は、11秒でした。結果表示もネイピア数と一致していました。
fx-310Pは66秒でしたので、EL-566は11秒だから6倍ですね。
比較してみると結構面白い

SHARP-EL-566

精度は?

前回足し合わせる数を大きい数からやるとループのあとのほうで小さい数になってそれを足し合わせると精度が出ないということがあったので、小さい数から足し合わせるようにやっていました。
表示をみると、
「M:2.718281828」10桁ですね。e^1をやると 「2.718281828」ですね。一致一致よしよし。

一致のはず…が!

表示は一致しているのですが、(RCL)MでMを表示して、-(マイナス)e^1=をやると…結果は

-4.6Exp-10

ってあれ?0じゃない??あれ?10のマイナス10乗?

もしや…(ALPHA)M-e^1=をすると、ちゃんと0だ!。
そうか!表示は10桁だけど、計算機内部では12桁もっているのか!
((ALPHA)Mー2.7182)×100000=8.182846 と表示。5桁シフトさせて7桁表示されていて、ケツに46がついているので、12桁で格納されていますね。
(e^1ー2.7182)×100000=8.182846と同じ値が表示されているので、eも12桁で持っていますね。
Mを表示してそのANSを利用すると10桁で丸められてしまったので-4.6Exp-10の差がでたのですね。

めでたしめでたし