応用情報技術者 2020年 秋期 午前2 問03
問題文
式A+B×Cの逆ポーランド表記法による表現として、適切なものはどれか。
選択肢
ア:+xCBA
イ:x+ABC
ウ:ABC×+(正解)
エ:CBA+×
式A+B×Cの逆ポーランド表記法による表現【午前2 解説】
要点まとめ
- 結論:式A+B×Cの逆ポーランド表記は「ABC×+」で、乗算を先に処理し加算を後に行う表現です。
- 根拠:逆ポーランド表記は演算子の優先順位に従い、演算子をオペランドの後に置くため、乗算が加算より先に評価されます。
- 差がつくポイント:演算子の優先順位と逆ポーランド表記の基本ルールを正確に理解し、演算子の順序を間違えないことが重要です。
正解の理由
逆ポーランド表記(後置記法)は、演算子をオペランドの後に置く表記法です。式A+B×Cでは、乗算(×)が加算(+)より優先されるため、まずBとCを乗算し、その結果にAを加算します。これを逆ポーランド表記にすると「A B C × +」となり、選択肢の中ではウ: ABC×+が正解です。
よくある誤解
逆ポーランド表記は単に演算子を後ろに置くだけでなく、演算の優先順位を正しく反映する必要があります。演算子の順序を間違えると計算結果が変わってしまいます。
解法ステップ
- 式の演算子の優先順位を確認する(×は+より優先)。
- 優先順位の高い演算から逆ポーランド表記に変換する。
- BとCの乗算を先に表現し、その後Aと乗算結果の加算を表す。
- オペランドの順序を保ちつつ、演算子を後ろに置く。
- 選択肢と照合し、正しい表記を選ぶ。
選択肢別の誤答解説
- ア: +xCBA
演算子が先頭にあり、逆ポーランド表記のルールに反します。 - イ: x+ABC
演算子の順序が不適切で、乗算と加算の優先順位を無視しています。 - ウ: ABC×+
正解。BとCを乗算し、その結果にAを加算する正しい逆ポーランド表記です。 - エ: CBA+×
オペランドの順序が逆で、計算結果が異なります。
補足コラム
逆ポーランド表記は計算機内部での式評価に便利で、括弧を使わずに演算の順序を明確にできます。スタックを用いた計算アルゴリズムと相性が良く、コンパイラや電卓の設計で広く利用されています。
FAQ
Q: 逆ポーランド表記はなぜ括弧が不要なのですか?
A: 演算子の位置が演算の順序を明示しているため、括弧なしで計算順序が一意に決まります。
A: 演算子の位置が演算の順序を明示しているため、括弧なしで計算順序が一意に決まります。
Q: 逆ポーランド表記の計算はどうやって行うのですか?
A: スタックにオペランドを積み、演算子が来たらスタックから必要な数のオペランドを取り出して計算し、結果を再びスタックに積みます。
A: スタックにオペランドを積み、演算子が来たらスタックから必要な数のオペランドを取り出して計算し、結果を再びスタックに積みます。
関連キーワード: 逆ポーランド表記、後置記法、演算子優先順位、スタック、式変換

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

