令和2年度 高度共通 午前I(PM試験) 問1
式A+B×Cの逆ポーランド表記法による表現として,適切なものはどれか。
- ア +×CBA
- イ ×+ABC
- ウ ABC×+
- エ CBA+×
解答・解説を見る
正解:ウ
AI解説
逆ポーランド表記法(後置記法)は、演算子をオペランド(被演算子)の後に置く記法である。式A+B×Cは演算子の優先順位により乗算B×Cが先に評価されるため、まずB×C→BC×と変換し、次にAとその結果の加算→A(BC×)+と変換して、ABC×+が得られる。優先順位の高い演算から内側に後置化していくのが手順である。 ア: +×CBAは演算子が先頭にある前置記法風の並びであり、逆ポーランド表記ではない。 イ: ×+ABCは前置記法(ポーランド表記法)で(A+B)×Cを表す並びに相当し、記法も式の意味も一致しない。 ウ: 正しい。ABC×+を後置記法として評価すると、まずB×Cを計算し、その結果とAを加算するので、A+B×Cと一致する。 エ: CBA+×を後置記法として評価するとB+Aを計算した後にCと乗算することになり、(A+B)×Cを表すため元の式と一致しない。 💡 後置記法はスタックで検算するのが確実。左から読み、オペランドは積み、演算子が来たら直前の2個を取り出して計算する。優先順位の高い×が+より先(左)に現れない点も目安になる。
出典:令和2年度 秋期 プロジェクトマネージャ試験 午前I 問1 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。