平成24年度 秋期 午前 問4
基礎理論
逆ポーランド表記法に関する問題
式 E=(A+B)×(C−D)と対応する逆ポーランド表記法はどれか。
- ア=E×+AB−CD
- イEAB+CD−×=
- ウEAB−CD+×=
- エEABC×+D−=
答えと解説を見る
✓ これが正解イEAB+CD−×=
解説
演算子を二つの対象の後ろへ回すと決まります。
逆ポーランド表記法は、演算子を二つの対象の後ろに置く書き方です。ですから元の式の内側から順に、記号を右へ送っていけば機械的に組み上がります。まず括弧の中を片づけます。A と B の和は、二文字を並べてから足す記号を後ろに置いた形になります。C と D の差も同じ要領で、二文字の後ろに引く記号が続きます。次にこの二つの塊を掛けますから、先ほど作った二つの並びを左右に置いて、掛ける記号を最後に添えます。最後に E への代入ですが、代入も演算子の一つとして扱えますので、E と右辺の並びを置いてから等号を後ろに回します。こうしてできた並びが正解です。組み上げの向きだけを信じず、逆にたどって確かめると安心できます。左から一文字ずつ読み、文字はスタックに積み、演算子が来たら直前の二つを取り出して結果を積み直すという読み方をすると、元の式がそのまま復元されます。括弧が一つも不要なのは、計算の順序が並び順そのものに埋め込まれるからです。
ほかの選択肢はなぜ違うのか
- ア=E×+AB−CD:記号が対象より先に並んでいます。これは演算子を前に置く書き方で、後ろに置く書き方とは向きが正反対です。左から読んでも二つの対象がそろわないまま記号に出会います。
- ウEAB−CD+×=:並びの骨格は合っていますが、足す記号と引く記号が入れ替わっています。この順で読むと A から B を引き、C に D を足した結果を掛けることになり、元の式と合いません。
- エEABC×+D−=:区切る位置が違っています。左から積み上げて読むと、B に C を掛けた結果を A に足し、そこから D を引く形になります。和と差を先に作ってから掛けるという構造が崩れています。
出典:平成24年度 秋期 応用情報技術者試験 午前 問4
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)