ホーム 研究内容 FreeBSD HP電卓 今日のgoo Links

--ホーム--
研究内容
FreeBSD
HP電卓
--Links--
BSD
Security
Hardware
NetHack
HP電卓
HP電卓

RPN

RPNとは

ここで説明するRPNは,逆ポーランド表記のことで,Regesiterd Psychiatric Nurseでもないし,MIDI関係でもありません.

HP電卓の特徴として,逆ポーランド表記(RPN: Revers Polish Notation)を採用していることです(現在は,RPNでない数式通り表記の電卓もあります).RPNという言葉は,ポーランドの論理学者ウカシェービッチ(Jan Lukasiwicz: 1878-1956)が1951年に発表した「Registered Parameter Numbers」のことです.RPNは,演算子を前に置く方法(prefix notation)と後に置く方法(postfix notation)の両方があります.考案者のウカシェービッチがポーランド人であることから,後にポーランド表記(Polish Notation)と呼ばれるようになりました.そして,postfix notationを電卓に応用したHPは,RPNを逆ポーランド表記(Reverse Polish Notation)のことと説明するようにしました.HPの説明書には,prefix notationがポーランド表記(Polish Notation)で,演算子をそれとは逆に後に書くpostfix notationが「ポーランド表記の逆」ということで逆ポーランド表記(Reverse Polish Notation)であると説明されています.

RPNが発表された当時は,計算機で使用するためには用いられませんでした.後にRPN,特にpostfix notationが計算機の「スタック」操作と非常によく調和することに科学者たちは気が付きました.そして,コンピューターやHPの電卓に用いられるようになったわけです.

それでは,手始めに数式の表記と逆ポーランド表記を並べてみるので,違いを比べてください.

代数表記逆ポーランド表記
1 + 21 2 +
3 * 43 4 *
1 + 2 + 31 2 + 3 +
(2 + 3) * (6 - 2)2 3 + 6 2 - *

最後の例を見ればわかると思いますが,括弧を用いません.なかなかピンと来ないかも知れませんが,ここで,自分で手計算をすることを考えてみてください.最後の例を計算するときに,あなたの頭の中ではどのような思考が行われますか?

「2と3を足して,それに6から2を引いたものを掛ける」

こんなことを考えていませんか?そして,RPNを見てください.数値と演算子の出てくる順序が思考と見事に一致しています.

では,次に,平方根や三角関数といった単項演算子を含む場合について見てみましょう.

代数表記逆ポーランド表記
sin 3.143.14 sin
√33 √
cos (2 * 3.14)2 3.14 * cos
√{(3 + 2) / (7 - 2)}3 2 + 7 2 - / √

ここで,また最後の例について手計算を行う場合の思考過程を見てみましょう.

「3と2を足し,7から2を引いたもので割って平方根」

逆ポーランド表記だとこの場合も思考過程で数値や演算子の出てくる順序と一致しているのがわかります.


リーガル Contact 名大岩鉱 名大地球 名大年測
Copyright KATO Takenori, 1997, 1998, 199, 2000. All rights reserved.