応用情報技術者 2023年 秋期 午前2 問03
問題文
逆ポーランド表記法 (後置記法)で表現されている式 ABCD-×+において、A=16, B=8, C=4, D=2のときの演算結果はどれか。逆ポーランド表記法による式AB+は、中置記法による式A+Bと同一である。
選択肢
ア:32(正解)
イ:46
ウ:48
エ:94
逆ポーランド表記法 (後置記法)の式 ABCD-×+【午前2 解説】
要点まとめ
- 結論:式 ABCD-×+ の演算結果は 32 である。
- 根拠:逆ポーランド表記法はスタックを用いて左から順に演算子が来たら直前の値で計算するため、順序を正確に追うことが重要。
- 差がつくポイント:演算子の適用順序とスタック操作の理解が合否を分ける。特に引き算や掛け算の順序を間違えないことが鍵。
正解の理由
逆ポーランド表記法の式 ABCD-×+ は、以下の手順で計算します。
- A=16, B=8, C=4, D=2 を順にスタックに積む。
- '-' 演算子は直前の2つの値 C=4 と D=2 に適用し、4 - 2 = 2 を計算。
- '×' 演算子は B=8 と先ほどの結果 2 に適用し、8 × 2 = 16。
- '+' 演算子は A=16 と先ほどの結果 16 に適用し、16 + 16 = 32。
よって、正解は ア: 32 です。
よくある誤解
逆ポーランド表記法は中置記法と異なり、演算子の位置が後ろにあるため、演算の順序を誤解しやすいです。特に引き算や割り算の順序を逆に考えるミスが多いです。
解法ステップ
- 文字列を左から順に読み、数字はスタックに積む。
- 演算子が出たら、スタックから直前の2つの値を取り出す。
- 演算子に従い、2つの値で計算を行う(引き算は「左の値 - 右の値」)。
- 計算結果をスタックに戻す。
- 最後にスタックに残った値が答えとなる。
選択肢別の誤答解説
- イ: 46
演算順序を誤り、引き算や掛け算の順序を逆に計算した結果。 - ウ: 48
演算子の適用ミスや、スタック操作の順序を間違えた可能性が高い。 - エ: 94
計算途中で値を足し間違えたり、演算子の数を誤認した結果。
補足コラム
逆ポーランド表記法は計算機科学でよく使われる表記法で、括弧が不要なため計算機の処理に適しています。スタックを使った計算アルゴリズムはプログラミングでも基本的な技術です。
FAQ
Q: 逆ポーランド表記法で引き算の順序はどうなりますか?
A: スタックから取り出した2つの値のうち、先に取り出した値が右側、後に取り出した値が左側となり、引き算は「左 - 右」で計算します。
A: スタックから取り出した2つの値のうち、先に取り出した値が右側、後に取り出した値が左側となり、引き算は「左 - 右」で計算します。
Q: 逆ポーランド表記法はなぜ括弧が不要なのですか?
A: 演算子が後ろにあるため、演算の優先順位や順序が明確で、括弧なしで正しく計算できるからです。
A: 演算子が後ろにあるため、演算の優先順位や順序が明確で、括弧なしで正しく計算できるからです。
関連キーワード: 逆ポーランド表記法、後置記法、スタック、演算順序、計算アルゴリズム

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

