令和5年度 秋期 高度試験 午前I 問1
テクノロジアルゴリズム
この問題は2023(R5)秋 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
逆ポーランド表記法(後置記法)で表現されている式 において、、、、 のときの演算結果はどれか。逆ポーランド表記法による式 は、中置記法による式 と同一である。
解答・解説を読む
正解: 選択肢ア
逆ポーランド表記法(後置記法) は、演算子を被演算子の後ろに記述する手法であり、コンピュータでの式の評価に用いられます。スタックというデータ構造を用いて、左から順に以下のように計算を進めます。
- 式 に 、、、 を代入すると、式は となります。
- 左から順に読み込み、数値であればスタックに積みます(プッシュします)。
- 状態:
[16, 8, 4, 2]
- 状態:
- 演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[16, 8, 2]
- 状態:
- 次の演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[16, 16]
- 状態:
- 最後の演算子 が現れると、直前の2つの数値( と )を取り出し、 を計算します。結果の をスタックに積みます。
- 状態:
[32]
- 状態:
計算が完了し、最終的な結果は となります。
各選択肢の解説
- ア: 正解です。上記の通り、演算結果は になります。
- イ: 誤りです。中置記法で などを誤って評価した可能性がありますが、 にはなりません。
- ウ: 誤りです。演算の順序を誤り、 などと計算してしまった場合の結果と考えられます。
- エ: 誤りです。各計算手順を取り違え、最終的に を導出した等の計算ミスが考えられます。