平成28年度秋期 問3 / 80

平成28年度 秋期 応用情報技術者試験 午前 問3

逆ポーランド表記法で表された式を評価する場合,途中の結果を格納するためのスタックを用意し,式の項や演算子を左から右に順に入力し処理する。スタックが図の状態のとき,入力が演算子となった。このときに行われる演算はどれか。ここで,演算は中置表記法で記述するものとする。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

逆ポーランド表記法の式をスタックで評価するときは,項(オペランド)が入力されたらスタックに積み(プッシュ),演算子が入力されたらスタックの上から2つの値を取り出して(ポップ)演算し,結果をスタックに積みます。

例えば「C D −」は中置表記法の「C − D」を表します。先に積まれたCが演算子の左側,後に積まれたD(スタックの一番上)が右側の項になります。図の状態ではスタックの一番上がD,その下がCなので,行われる演算は「C 演算子 D」です。

  • ア: A 演算子 B
    誤り。A,Bはスタックの下のほうにあるため,この時点では取り出されません。

  • イ: B 演算子 A
    誤り。取り出されるのは上の2つ(C,D)であり,順序も逆です。

  • ウ: C 演算子 D
    正しい。上から2つの値D,Cを取り出し,先に積まれていたCを左,Dを右として演算します。

  • エ: D 演算子 C
    誤り。取り出す値はC,Dで正しいですが,左右が逆です。逆ポーランド表記法では先に現れた(先に積まれた)項が演算子の左側になります。


答え

ウ: C 演算子 D

出典:平成28年度 秋期 応用情報技術者試験 午前 問3

平成28年度秋期の他の問題