フォト
2023年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

本 : My Favorite!

  • 磯田道史: 武士の家計簿

« EDSAC から 自作PC まで - 出会ったコンピュータ達 その 1 | トップページ | 8J1MITO - 「水戸の梅まつり」記念局を訪問 »

2015年2月28日 (土)

Windows版 RPN関数電卓 を自作!

私がiPhone 3GSから現在の5Sまでずっと愛用している電卓が
コチラ、AppStoreで購入した、「MathU RPN Calc」
RPN電卓の一番初めは、学生時代に使ったHPの関数電卓だった
のですが、今はこのiPhoneアプリです。

Mathu_rpn_2

=キーが無いのにお気づきでしょうか? RPN=逆ポーランド
記法 (Reverse Polish Notation) の電卓です。 例えば「2+3」
を求めるとき、フツーの電卓では「2足す3は?」の語順で

  [ 2 ] [+] [ 3 ] [=]

とボタンを押したら答え 5 が得られますが、逆ポーランド記法
の電卓では、「2に3を足すと?」という語順で

  [ 2 ] [Enter] [ 3 ] [+]

とボタンを押すことで答え 5 が得られます。

RPNの方が実際の計算とか構文処理に関して左から右へ自然
な順序になっています。 だって、フツーの電卓の方は [ 2 ] [+]
と来た段階で一旦切って考えれば明らかですが、この段階で
[+] と言われても、"足す数値"はまだ分からないので、具体的
には何もできないでしょ? そして [ 3 ] [=] が与えられてから
あらためて [+] の所に戻って、初めて実際に「足す」処理に
取り掛かるわけです。

さらに「カッコ ( )」ボタンもありません。 代わりに"スタック"
という特別なメモリが実装されています。 "スタック"はマイコン
の割り込み処理とかアセンブラ言語をご存知の方ならお分かり
ですよね。 そうそう、「RPN記法 vs フツーの電卓の記法」って
正に「アセンブラ vs 高級言語」なんですね。

RPN電卓を使い慣れると、もう手放せなくなってしまいます。
(って、私だけ?)

iPhoneではMathUという素晴らしいアプリに出会えたのですが
Windows上で使う電卓では、好みのデザインのRPN電卓が見つ
けられずにいました。 そしてなぜか今まで別の解にも気付き
ませんでした。

  そうだ、自分で作れば良いじゃないか!

で、Visual C#で作ってみました。(クリックで拡大できます)

Rpn_win_2

自分がいつもMathUで使っている必要十分な機能だけ実装しま
した。例えば、三角関数の角度単位は"deg"だけ、など。
もちろん、マウスだけでなく、キーボードからキー入力だけでも
操作可能です。 数値以外の各処理・関数は、例えば sin なら
「s」など、ショートカットキーが割り当ててあります。 [Help]
ボタンを押す (=hキー) と、各機能の対応キーが

Rpn_win2_2

のように表示されます。(画像はINVキーも押した状態)

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

« EDSAC から 自作PC まで - 出会ったコンピュータ達 その 1 | トップページ | 8J1MITO - 「水戸の梅まつり」記念局を訪問 »

コンピュータ」カテゴリの記事

コメント

おはようございます。
逆ポーランドは,昔FORTHで使ったことがありました。マニアックな内容ですね♪
スマホのアプリを簡単に作れるのは素晴らしいですね。
僕のはガラケーなので使わせてもらえません...。
色々楽しまれていますね♪

あぶさん、お早うございます。

> スマホのアプリを簡単に作れるのは素晴らしいですね。

すみません、説明不足だったようですね。作ったのは、Windows
の上で動く電卓でした。スマホ用アプリは作るのに特別な環境
が必要なので、敷居が高くて手が出せないでいます。
FORTHもマニアックじゃないですか?

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Windows版 RPN関数電卓 を自作!:

« EDSAC から 自作PC まで - 出会ったコンピュータ達 その 1 | トップページ | 8J1MITO - 「水戸の梅まつり」記念局を訪問 »