逆ポーランド記法のまとめ [基礎] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 基礎 | あなたもできるたった「5つ」のステップでカンタンにrpn電卓をマスター。

HOME > 基礎 > 逆ポーランド記法のまとめ hatena yahoo buzzurl livedoor del.icio.us nifty newsing twitter facebook rss ソーシャルブックマーク

逆ポーランド記法のまとめ

数式の3つの記法

 学校で学ぶ数式や普通の電卓で使う数式は中置記法で表現されます。対して、逆ポーランドの電卓で使われるのは後置記法です。後置記法は逆ポーランド記法とも言われますが、英語での表現はReverse Polish Notitionになります。

算術記号を数値のどこに記述するかで、記法が異なります。中置記法、逆ポーランド記法(後置記法)、ポーランド記法(前置記法)の3つの記法をまとめると以下の図になります。

逆ポーランド記法はポーランド記法をコンピュータの処理に適したように改変したものです。
   中置記法          後置記法             前置記法
                (逆ポーランド記法)    (ポーランド記法)
  ============  ==================    ================
  1  +  2      1  2  +               +  1  2
      :                   :                :
      :                   :                :
    記号を              記号を           記号を
    真ん中              最後に           最初に
    に置く              置く             置く
   (infix)             (postfix)        (prefix)


結局、3つの記法の違いは、算術記号の「+-×÷」を数値のどこに置くかによって決まることになります。

逆ポーランド記法の記述ルール

 中置記法には算術記号に優先順位がありますが、後置記法(逆ポーランド記法)にはありません。従って、中置記法から逆ポーランド記法に変換するには「+-×÷」(パソコンでは「+-*/」)の優先順位に注意する必要があります。

変換するためのアルゴリズム(プログラム)もあるのですが、本ウェブサイトでは逆ポーランド記法で最初から数式を記述するので気にする必要はありません。頭の中から逆ポーランド記法で考えれば、数式の並び順はすぐにマスターできます。

情報逆ポーランド記法の解釈手順を知りたい人はrpn入門(中級編)のスタックをご覧ください。逆ポーランド電卓がどのように逆ポーランド記法式を計算するのかが分かります。

実際、逆ポーランド記法は日本語の並びで考えると簡単に作れます。例を以下に示しましょう。

  中置記法         逆ポーランド記法
  1 + 2       ⇒   1 2 +              1に2を足す
  1 + 2 - 3   ⇒   1 2 + 3 -          1に2を足してから3を引く
  1 * 2 + 3   ⇒   1 2 * 3 +          1に2を掛けてから3を足す
  1 + 2 * 3   ⇒   1 2 3 * +          1に2と3を掛けたものを足す



逆ポーランド記法のメリット(日本語の並びと同じ)

 以下の数式を見てください。これを電卓で計算するとなると結構、厄介です。

  (1 + 2) * (3 - 4)
  -----------------
       (5 + 6)


括弧が使える関数電卓の場合は、ほとんど数式と同じ順番で計算できますが、M+とM-、MRCがある普通の電卓の場合はちょっと面倒です。場合によっては、計算の順序を変えながらメモリーキーを駆使することになるでしょう(一旦、紙に計算結果をメモすることも必要かも)。

対して逆ポーランド電卓の場合は、前述したように日本語で数式の順に読み上げていくようにすれば数式が出来上がります。

『1に2を足したものに3から4を引いたものを掛けて、5に6を足したもので割る』

複雑な数式でも左から右へ上から下へ計算するつもりで読んでいけば、自然に逆ポーランド記法になっています。慣れてしまえば、逆ポーランド電卓のほうが絶対に計算が楽になります。

以下が上記の数式に対応する逆ポーランド記法の計算式です。

  1 2 + 3 4 - * 5 6 + /


逆ポーランド記法のメリット(キータッチが少ない)

 M+やM-の使い方は一種の職人芸なので、括弧の使える関数電卓との比較をしてみましょう。以下に関数電卓と逆ポーランド電卓の計算式の比較を示します。

括弧の使える関数電卓
( 1 + 2 ) * ( 3 - 4 ) / ( 5 + 6 ) =
逆ポーランド電卓
1 2 + 3 4 - * 5 6 + / ENTER

実際に、計算に要するキータッチ数を数えてみましょう。計算結果が同じなら、キータッチの少ないほうが快適ですよね。

  • 括弧の使える関数電卓のキータッチ数
     ( 1 + 2 ) * ( 3 - 4 ) / ( 5 + 6 ) =
     1 2 3 4 5 6 7 8 9 10  12  14  16  18
                         11  13  15  17


  • 逆ポーランド電卓のキータッチ数
     1 2 + 3 4 - * 5 6 + / ENTER
     1 2 3 4 5 6 7 8 9 10  12
                         11 


関数電卓が18回で逆ポーランド電卓が12回です。圧倒的に逆ポーランド電卓のほうがキータッチする数が少ないことが分かります(30%強)。これは数式が複雑であればあるほど、逆ポーランド記法のほうが有利であることを示しています。

有名な逆ポーランド記法式

 ここに逆ポーランド記法で有名な式があります。以下の式なのですが、逆ポーランド電卓の製造メーカーの取扱説明書に記載されています。

               8.33 * (4 - 5.2)
             --------------------
             (8.33 - 7.46) * 0.32
  √ { --------------------------------- }
       4.3 * (3.15 - 2.75) - 1.72 * 2.01


普通の電卓なら面倒でやる気が起きないような複雑な数式ですが、逆ポーランドなら楽勝です。単に日本語の順番に口に出していけば、すぐに逆ポーランド記法式に変換できます。

日本語で書くとすれば『8.33に4から5.2を引いた値を掛けたものを、8.33から7.46を引いた値に0.32を掛けたもので割って分子の値とする。次に4.3に3.15から2.75を引いた値を掛けてから1.72に2.01を掛けた値を引いたものを分母の値として、分子を分母で割って最後に平方根をとる』ですね。これを逆ポーランド記法式にすると以下のとおり、スッキリ書けます。

  8.33 4 5.2 - * 8.33 7.46 - 0.32 * / 4.3 3.15 2.75 - * 1.71 2.01 * - / r


次は…

逆ポーランド記法で書かれた数式を実際に計算するには… 逆ポーランド電卓のまとめLinkIcon

rpnを実際に試してみたくなったら  

広報rpnには標準版と試用版があります。本格的にビジネス等の実戦に使うにはrpn標準版LinkIconが必須です。

広報単に逆ポーランド電卓を試してみたいだけならrpn試用版(無料)でも、ほとんどの例題を実行することができます(機能の一部に制約があります)。

オリジナル.bmp rpn標準版と試用版の違いLinkIcon
動画 rpnソフトウェアの動画デモLinkIcon

rpnをウェブでダウンロードしたら  


わかりやすいrpnのインストール方法とrpnの簡単な使い方の説明があります。
オリジナル.bmp
rpnのインストールLinkIcon

紹介 rpnの利用シーンはこちら…

講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語気楽に読めるrpn物語もどうぞ

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲ってください。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。

[すぐに役立つオンライン講座の紹介]


電卓ソフトで学ぶオンライン講座