平成21年度 秋期 基本情報技術者試験 午前 問3
テクノロジ/基礎理論逆ポーランド表記法(後置表記法)で,“EF-G÷CD-AB+÷+”と表現される式はどれか。
出典:平成21年度 秋期 基本情報技術者試験 午前 問3
- ア((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))
正解:ウ
解説
後置表記法の式はスタックを使って先頭から順に評価します。“EF-G÷CD-AB+÷+”を左から処理すると,E-F を求めて G で割った値と,C-D を A+B で割った値を最後に加算する式になります。順にスタックへ積み,演算子が出るたびに直前2つの値を取り出して計算すると確認できます。
選択肢ごとの解説
- ア誤り。(A+B)+(C-D) や G-(E÷F) のような組合せは,与えられた後置表記の演算順序とは異なります。
- イ誤り。(A+B)÷(C-D) の形は,元の式にある E,F,G の使われ方と一致しません。
- ウ正しい。E-F を G で割った値と,C-D を A+B で割った値を加算する式であり,後置表記の評価順序と一致します。
- エ誤り。最後の演算子が÷になっており,元の式の最後の演算子+と異なります。