令和5年度 秋期 高度試験 午前I 問1
逆ポーランド表記法(後置記法)で表現されている式 において,,,, のときの演算結果はどれか。逆ポーランド表記法による式 は,中置記法による式 と同一である。
解答・解説
正解: ア. 32
逆ポーランド表記法(後置記法) は、演算子を被演算子の後ろに記述する手法であり、コンピュータでの式の評価に用いられます。スタックというデータ構造を用いて、左から順に以下のように計算を進めます。
- 式 に 、、、 を代入すると、式は となります。
- 左から順に読み込み、数値であればスタックに積みます(プッシュします)。
- 状態:
[16, 8, 4, 2]
- 状態:
- 演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[16, 8, 2]
- 状態:
- 次の演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[16, 16]
- 状態:
- 最後の演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[32]
- 状態:
計算が完了し、最終的な結果は となります。
各選択肢の解説
- ア: 正解です。上記の通り、演算結果は になります。
- イ: 誤りです。中置記法で などを誤って評価した可能性がありますが、 にはなりません。
- ウ: 誤りです。演算の順序を誤り、 などと計算してしまった場合の結果と考えられます。
- エ: 誤りです。各計算手順を取り違え、最終的に を導出した等の計算ミスが考えられます。