• ベストアンサー

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

noname#11476の回答

  • ベストアンサー
noname#11476
noname#11476
回答No.2

基本はNo.1示したURLのとおりで、人間が変換する場合はこれでOKですね。 プログラムで行う場合は、演算子に優先順位をつけておきます。 つまり、+と-は同順位で、+,-より*/は上位ですね。 またスタックを用意しておきます。 さて、決まったら以下の繰り返し作業をするだけです。 1)数字はそのまま出力 2)演算子Aがきたら、  a)演算子Aの優先順位 < スタックの一番上(つまり一番最近積んだ)の演算子の優先順位   ならば、同順位以下になるまでスタックより出力して、演算子Aをスタックに積む b)上記以外の時には無条件に演算子Aをつむ 3)括弧(がきたらそのままスタックに積む 4)括弧)がきたら、括弧(までを出力して括弧(は廃棄 5)関数はひとまとまりの数値として扱う (特別な処理が必要になります。つまり引数がひとつの時はまだよいのですが、2つ以上だと困難となりますので) 6)同様に -5, -6 などの数値の前の-は演算子ではなく、まとめて数値としてみなす。 以上です。

関連する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÷・・・つづく 優先順位はどうやって判断するのですか。知っている方お願いします。