平成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