逆ポーランド記法とは、コンピュータで処理するのに都合のいい形の数式の書き方です。
4+8 を逆ポーランド記法では 48+ と書きます。
4+9*2+8/5 では 492*85/++ となります。
よく逆ポーランド記法は、数式の計算順序を日本語式に呼んだとおりに書く、といわれます。上の例では、
4に9と2を乗じたものと2を6で割ったものを足したものを足す。
となります。
逆ポーランド記法で計算するときは
1:演算子がくるまで数字を式から手元に持ってくる
2:演算子が来たら、最後に持ってきた数字とその前の数字とで計算する
3:計算結果は新しい数字として手元に持ってくる
例)
9+8-7 逆ポーランド記法で書くと
987-+
手元 数式
987-+ :
9 87-+ : 最初の数字9を手元に
98 7-+ : 次の数字8を手元に
987 -+ : 次の数字7を手元に
987- + : 演算子-が来たので
91 + : 8-7で1
91+ : 演算子+が来たので
10 : 9+1で10
10 : 手元に持ってくるものがないで終了
この計算経過の表を見てみると、手元では数字が左から右に詰まれていって、計算記号がくると計算結果が新たに入っています。
数式では、式の左側から1文字ずつ無くなっています。
カンの良い方ならもうお気づきかもしれませんが、これらの動作は
手元 → スタック(LIFO)
数式 → ポインタと文字列(FIFO)
に置き換えることができます。
4+8 を逆ポーランド記法では 48+ と書きます。
4+9*2+8/5 では 492*85/++ となります。
よく逆ポーランド記法は、数式の計算順序を日本語式に呼んだとおりに書く、といわれます。上の例では、
4に9と2を乗じたものと2を6で割ったものを足したものを足す。
となります。
逆ポーランド記法で計算するときは
1:演算子がくるまで数字を式から手元に持ってくる
2:演算子が来たら、最後に持ってきた数字とその前の数字とで計算する
3:計算結果は新しい数字として手元に持ってくる
例)
9+8-7 逆ポーランド記法で書くと
987-+
手元 数式
987-+ :
9 87-+ : 最初の数字9を手元に
98 7-+ : 次の数字8を手元に
987 -+ : 次の数字7を手元に
987- + : 演算子-が来たので
91 + : 8-7で1
91+ : 演算子+が来たので
10 : 9+1で10
10 : 手元に持ってくるものがないで終了
この計算経過の表を見てみると、手元では数字が左から右に詰まれていって、計算記号がくると計算結果が新たに入っています。
数式では、式の左側から1文字ずつ無くなっています。
カンの良い方ならもうお気づきかもしれませんが、これらの動作は
手元 → スタック(LIFO)
数式 → ポインタと文字列(FIFO)
に置き換えることができます。
