高度情報処理技術者試験・情報処理安全確保支援士試験 令和5年度 秋期 午前I 問1
逆ポーランド表記法(後置記法)で表現されている式ABCD-×+において、A=16、B=8、C=4、D=2のときの演算結果はどれか。逆ポーランド表記法による式AB+は、中置記法による式A+Bと同一である。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
逆ポーランド表記法では、数値を順にスタックへ積み、演算子が現れた時点で直前の二つの値を取り出して計算します。式「ABCD-×+」を左から処理すると、まずA=16、B=8、C=4、D=2を積みます。次の「-」ではC-D=4-2=2となり、スタックは16、8、2です。続く「×」ではB×2=8×2=16となり、スタックは16、16です。最後の「+」でA+16=16+16=32となります。したがって、正解はアです。
イの46は誤りです。逆ポーランド表記法では、演算子が現れるたびに、その直前までに残っている二つの値へ演算を適用します。通常の中置式のように演算子の優先順位を独自に当てはめてはなりません。
ウの48は誤りです。「×」の対象はAとBではなく、Bと「C-D」の結果です。正しい中置表記はA+B×(C-D)です。
エの94は誤りです。文字列中の数字や演算子を単純に左から連結・計算した値ではありません。スタックを使って演算対象を決める必要があります。
【ポイント】 逆ポーランド表記法には括弧が不要で、演算子の位置から計算順序を一意に決められます。 「値なら積む、演算子なら二つ取り出して計算結果を積む」という手順で追跡すると確実です。
出典:令和5年度 秋期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の30問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる