令和5年度秋期 応用情報技術者試験 午前 問3
逆ポーランド表記法(後置記法)で表現されている式 ABCD-×+において,A=16,B=8,C=4,D=2 のときの演算結果はどれか。逆ポーランド表記法による式 AB+は,中置記法による式 A+B と同一である。
- ア 32
- イ 46
- ウ 48
- エ 94
解答・解説を見る
正解:ア
AI解説
逆ポーランド表記法は演算子を被演算数の後ろに置く記法で、スタックを使って左から順に処理する。ABCD−×+にA=16,B=8,C=4,D=2を当てはめると、まずC−D=4−2=2を計算し、次にB×2=8×2=16を計算し、最後にA+16=16+16=32となる。 ア: 16,8,2,2という順にスタックを操作し、C−D→B×(C−D)→A+(B×(C−D))の順に計算すると32になり、正解である。 イ: 計算順序を誤って加算と乗算の対象を取り違えると46のような値になるが、これは正しい演算結果ではない。 ウ: 同様に演算の対応関係を誤ると48という値が出ることがあるが、逆ポーランド表記の正しいスタック処理の結果ではない。 エ: 94はA,B,C,Dの単純な四則演算(例えば加算のみ)で得られる値に近く、逆ポーランド表記の正しい評価結果ではない。 💡 逆ポーランド表記の評価は「数値が来たらスタックに積む、演算子が来たら上から2つ取り出し演算してまた積む」という手順を機械的に繰り返すだけなので、後ろから2番目・1番目の順(先に積んだ方が左オペランド)に注意して計算するとよい。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。