令和2年度 10月 午前 問3
基礎理論
逆ポーランド表記法による表現
式 A+B×C の逆ポーランド表記法による表現として,適切なものはどれか。
- ア+×CBA
- イ×+ABC
- ウABC×+
- エCBA+×
答えと解説を見る
✓ これが正解ウABC×+
解説
後置記法は演算子を二つの被演算子の後ろに置きます。
逆ポーランド表記法は、演算子を二つの被演算子の後ろに置く並べ方で、後置記法とも呼ばれます。ですから式を書き換えるときは、先に通常の書き方で計算の順序を確かめ、掛け算と足し算のうち優先度が高い掛け算を先に固めます。次に、その内側の掛け算の部分だけを取り出して、被演算子の並びの後ろに演算子を移す形へ書き直し、続いて外側の足し算にも同じ操作を当てます。全体としては、まず A、次に B、C と被演算子が続き、B と C を束ねる掛け算の記号、最後に A とそれまでの結果を束ねる足し算の記号が並ぶ姿になります。スタックで左から順に読ませても計算が成り立ち、これが電卓の RPN 方式や式評価の基礎になっています。
ほかの選択肢はなぜ違うのか
- ア+×CBA:並びが +×CBA と書かれています。演算子が先頭にまとまり、被演算子が後ろに反対の順で並んでおり、被演算子の後ろに演算子を置くという後置記法の並べ方とは形が違います。
- イ×+ABC:並びが ×+ABC と書かれています。演算子を先頭に置いてから被演算子を並べており、前置記法(ポーランド記法)の並べ方です。しかも掛けと足しの適用範囲を後ろから読み解く形にはなっていません。
- エCBA+×:並びが CBA+× と書かれています。演算子が末尾にある点は後置に近いのですが、被演算子の並びが C、B、A と入れ替わっており、スタックで評価すると A + B × C とは違う式に対応してしまいます。
出典:令和2年度 10月 応用情報技術者試験 午前 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)