逆ポーランド表記法(後置表記法)で、“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)) |
答え ウ
【解説】
逆ポーランド表記法から通常の表記法(中置記法)に変換するにはスタックを用いて、変数はスタックにセットし、算術記号がきたらスタックから変数を2つ取り出し、算術記号の前後にセットするので、“EF-G÷CD-AB+÷+”の場合は、[ ]をスタックの状態とすると
- “E”をスタックに入れる [E]
- “F”をスタックに入れる [F, E]
- “-”がきたら
- スタックから“F”を取り出し、“-”の右にセット [E]
- スタックから“E”を取り出し、“-”の左にセット [ ]
- 結果の“E-F”をスタックに入れる [E-F]
- “G”をスタックに入れる [G, E-F]
- “÷”がきたら
- スタックから“G”を取り出し、“÷”の右にセット [E-F]
- スタックから“E-F”を取り出し、“÷”の左にセット [ ]
- 結果の“(E-F)÷G”をスタックに入れる [(E-F)÷G]
- “C”をスタックに入れる [C, (E-F)÷G]
- “D”をスタックに入れる [D, C, (E-F)÷G]
- “-”がきたら
- スタックから“D”を取り出し、“-”の右にセット [C, (E-F)÷G]
- スタックから“C”を取り出し、“-”の左にセット [(E-F)÷G]
- 結果の“C-D”をスタックに入れる [C-D, (E-F)÷G]
- “A”をスタックに入れる [A, C-D, (E-F)÷G]
- “B”をスタックに入れる [B, A, C-D, (E-F)÷G]
- “+”がきたら
- スタックから“B”を取り出し、“+”の右にセット [A, C-D, (E-F)÷G]
- スタックから“C”を取り出し、“+”の左にセット [C-D, (E-F)÷G]
- 結果の“A+B”をスタックに入れる [A+B, C-D, (E-F)÷G]
- “÷”がきたら
- スタックから“A+B”を取り出し、“÷”の右にセット [C-D, (E-F)÷G]
- スタックから“C-D”を取り出し、“÷”の左にセット [(E-F)÷G]
- 結果の“(C-D)÷(A+B)”をスタックに入れる [(C-D)÷(A+B), (E-F)÷G]
- “+”がきたら
- スタックから“(C-D)÷(A+B)”を取り出し、“+”の右にセット [(E-F)÷G]
- スタックから“(E-F)÷G”を取り出し、“+”の左にセット [ ]
- 結果は“((E-F)÷G)+((C-D)÷(A+B))”(ウ)になる。
【キーワード】
・逆ポーランド表記法
【キーワードの解説】
- 逆ポーランド表記法(逆ポーランド記法)
演算子(+, -, ×, ÷)を演算対象の後ろに記述する表記方法。
逆ポーランド記法、後置記法とも呼ばれる。
例)「x+y」を逆ポーランド表記法で記述すると「xy+」になる。
もっと、「逆ポーランド表記法」について調べてみよう。
戻る
一覧へ
次へ
|