逆ポーランド記法電卓 RPN Calculator
逆ポーランド記法とは、+、-などの演算子を数値の後ろに記述する計算式の表記方法です。
普通の数式で、次のように記述される場合
12 + 34
逆ポーランド記法では、
12 34 +
と、記述されます。
逆ポーランド記法電卓
逆ポーランド記法に従って計算を行う電卓です。実際の電卓として製品化もされています。
普通の電卓と違って、=のボタンが無く、その代わりに数値入力を確定するEnterボタンがあります。
普通の電卓で、12 + 34 を計算する場合には、次のようにキーを押します。
[1][2][+][3][4][=]
逆ポーランド記法の電卓では、次のようにキーを押します。
[1][2][Enter][3][4][+] または、[1][2][Enter][3][4][Enter][+]
括弧を含む計算も、メモリ機能を使用せずに計算できるので慣れると便利です。
( 1 + 2 ) * ( 3 + 4 ) → [1][Enter][2][+][3][Enter][4][+][*]
スタック
逆ポーランド記法電卓は、スタックを利用することによって簡単に計算を実現できます。
- 数値の入力 → 入力された数値をスタックにプッシュ。
- 演算子の入力 → 必要な数の数値をスタックからポップ。演算した結果をプッシュ。
電卓の仕様
この電卓では、次のように入力を行います。
- 数値の入力
数値を入力して、Enterキーを押します。
入力された数値はスタックにプッシュされます。
- 演算子の入力
演算子のキーを押します。
数値をスタックからポップして、演算結果をプッシュします。
- 数値と演算子の入力
数値の入力に続けて演算子を入力します。
入力された数値をスタックにプッシュしてから演算を行い結果をプッシュします。
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
>12
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
* 01: 12
>3
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
* 02: 12
* 01: 3
>*
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
* 01: 36
>45
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
* 02: 36
* 01: 45
>-
*** RPN Calculator *******************************
* +:加 -:減 *:乗 /:除 !:符号 c:削除 q:終了 *
* *
* 01: -9
>
ソース・コード