• ベストアンサー

逆ポーランド表記ってなんですか?

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

普通小中高で習う演算は演算される数オペランドa,bについて a+b,a*bのように、演算子を間に挟むので間置記法(正確には 挿入記法)です。演算子をオペランドの後に記す記法が考えられます。例えばab+,ab*のように。そんな特異な考え方が威力を 発揮するのは、コンピューター(電卓を含む)時代になって、(A) プログラム演算が簡単になるため(B)カッコが有る式もカッコが不要になるためである。 もう1つ重要な考え方に「スタック」(棚)という概念がありそれと密接に 絡んでいる。PRN=PolishReverseNotation. PRNに直す方法ロジックは出たので、その後(後段)を述べます。 (a+b)*(c-d)はRPNではab+cd-*となります。 この例でプログラム化する方法ロジックを考えました。 (1)演算子と2項・単項の区別表と演算サブルーチンを用意する。   演算子の優先順位の表は不要。 (2)左最初より演算子を探す。ab+の+で見つかる。 (3)見つかれば(+)、その直前の2つの値(単項演算子なら1個) (a,b)をデータとして、演算する。a+b=x (4)結果の値(x)を、ab+は消して、「その元の位置のところへ」挟みこむ。xcd-*とする。 (5)ポインターを次ぎのcより右に進め、演算子を探し-に出会う。 (6)前記(3)と同じことを行う。c-d=y (7)前記(4)と同じことを行う。xy*となる。 (8)前記(2)と同じことを行い*に出会う。   (3)と同じことを行う。x*y=zが出る。 (9)前記(4)と同じことを行う。zとなる。 (10)その後zの次ぎは最後で、終了。 スタックをpush,popで使っていないが、(4)の「もとの位置へ挟みこむ」必要があるので使えなかった。また値のスタックと演算子のスタックは分けないほうが良いのだと思う。WEB検索での解説は大学の講義関連が多く、それにはあまり上記まで解説していない。今後さらに研究します。

関連するQ&A

  • 通常の表記から逆ポーランド表記への変換法

    通常の表記から逆ポーランド表記への変換法を教えて下さい!お願いします★

  • 逆ポーランド法の表記について

    X*(Y-Z)を逆ポーランド表記で表すと、(1)XYZ-*ですか? (2)YZ-X*ですか?回答は(2)みたいなのですが、どうも違いがわかりません。

  • VB6.0で逆ポーランド記法のソースコードを教えてください

    VB6.0で逆ポーランド記法のソースコードを教えてください。 できれが、通常の計算式から逆ポーランドに変換して計算結果が求められるまで。 お願いします。

  • 逆ポーランド記法

    C言語で逆ポーランド記法への変換をしようとしています. 演算子の優先順位の付け方がわかりません. 構造体の配列に数式を入れて,それぞれに優先度をつけてみたりしたのですが,いい方法でないように思います. 適切な方法を知っている方よろしくお願いします.

  • 逆ポーランド記法への変換方法を教えてください。

    Visual Studio C++ 6.0で逆ポーランド電卓のプログラムを作っていますが、式の変換方法がわからないので教えていただければ助かります。 たとえば (8 + 9 * -8) * 10 だと 8 9 -8 * + 10 * に変換できますが、  -(8 + 9 * -8) * 10 だとどう変換すればよいのかがわかりません。

  • 陶器 ポーランド製など 表記 472? 

    ポーランド製などの陶器の底にブランドロゴや表記が記載されております。 その表記によく「472」と記載がありますが、この数字は何を意味する数字なのでしょうか? お詳しい方がいましたらご回答よろしくお願いします。

  • ポーランド記法、逆ポーランド記法のプログラム

    ポーランド記法、逆ポーランド記法のプログラムがわかる方、是非教えてくださいm(__)m 言語は何でもいいのでお願いします~

  • 逆ポーランド記法

    電卓もどきのアルゴリズムを教えて下さい 指定された数式を解読して、演算結果を求める処理を作成したいのですが・・・・ 今考えている手順は (1) 数式を解析して 逆ポーランド記法の中間言語にして於いておく (2) 逆ポーランド記法の中間言語を演算して答えを求める と考えているのですが・・・ << 例 >>  演算式 1+2×3=    答え 7  演算式 (1+2)×3=  答え 9 大昔の知識ですのでもっとシンプルな方法が有りましたらアドバイス頂けませんでしょうか?

  • ポーランド語をカタカナ表記に

     ポーランド語のカタカナ表記が分からず困っています。自分でも調べてみましたが、分かりませんでした。どなたかご教示いただけませんでしょうか。 ・Krzywy Domek ・Szotynscy Architekci  この2つです。どうぞよろしくお願いします。

  • 逆ポーランド記法の優先順位

    問題 X=(A+B)×(C-D÷E)を逆ポーランド記法へ 解説1)計算の優先順位を考える X=(A+B)×(C-D÷E) │   │    └┬─┘ │   └──┬──┘ └──────┘ 2)優先順に逆ポーランド記法に変換(A+B→AB+) A+B → AB+ D÷E → DE÷・・・つづく 優先順位はどうやって判断するのですか。知っている方お願いします。