アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問4
逆ポーランド表記法(後置表記法)で,“EF−G÷CD−AB+÷+”と表現される式はどれか。
- ア ((A+B)+(C−D))÷G−(E÷F)
- イ ((A+B)÷(C−D))+G÷(E−F)
- ウ ((E−F)÷G)+((C−D)÷(A+B))
- エ ((E−F)÷G)÷((C−D)+(A+B))
出典:基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問4
答えと解説を見る
正解:ウ
覚える知識
逆ポーランド表記(後置表記)の式変換
逆ポーランド表記は演算子をオペランドの後ろに置く表記で、スタックにより括弧なしで評価できる。
この問題で必要なこと
後置表記をスタックで左から処理し、演算子が出たら直前2つのオペランドに適用して中置式に復元する。EF−G÷ → (E−F)÷G、CD−AB+÷ → (C−D)÷(A+B)、最後の+で結合。
ひっかけ
演算子の対応の取り違えで、除算と加算の結合順を誤る選択肢が並ぶ。
この知識の出題:本試験系 5 回・免除試験 10 回(公開問題での観測値)