応用情報技術者試験 令和5年度 秋期 午前 問3
逆ポーランド表記法(後置記法)で表現されている式 ABCD-×+において、A=16、B=8、C=4、D=2 のときの演算結果はどれか。逆ポーランド表記法による式 AB+は、中置記法による式 A+B と同一である。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
逆ポーランド表記法では、値を左から順にスタックへ積み、演算子が現れたときに直前の二つの値を取り出して計算します。具体的にトレースすると、A、B、C、Dを読んだ時点のスタックは下から[16、8、4、2]です。次の「-」では、先に積まれた4から後に積まれた2を引き、4-2=2となるので、[16、8、2]になります。次の「×」では8×2=16となり、[16、16]になります。最後の「+」で16+16=32となります。中置記法に直せば、A+B×(C-D)=16+8×(4-2)=32であり、アが正解です。
イの46は誤りです。「-」の直後のスタックは[16、8、2]であり、その後は乗算、加算の順に処理するため46にはなりません。
ウの48は誤りです。例えば(16-8)×(4+2)なら48になりますが、これは演算子とオペランドの並びが元の後置式とは異なる別の式です。
エの94も誤りです。各演算子に対して直前の二つの値を順番どおり適用すると、94になる計算過程はありません。
【ポイント】 後置記法では、数値を積み、演算子が出たら二つ取り出し、結果を再び積みます。 減算や除算では、後から取り出した値を左辺、先に取り出した値を右辺にする点が重要です。 括弧がなくても演算順序が一意に決まることが、後置記法の特徴です。
出典:令和5年度 秋期 応用情報技術者試験 午前 問3
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる