平成22年度 春期 午前 問3
情報に関する理論
逆ポーランド表記法に関する問題
A=1,B=3,C=5,D=4,E=2 のとき,逆ポーランド表記法で表現された式 AB+CDE/−*の演算結果はどれか。
- ア−12
- イ2
- ウ12
- エ14
答えと解説を見る
✓ これが正解ウ12
解説
逆ポーランド表記法は直前の2つを取って計算します。
逆ポーランド表記法では、演算子はその直前に並んでいる2つの値に対してはたらきます。左から順に値を積み上げていき、演算子が出てきたら直前の2つを取り出して計算し、その結果をまた積み上げる、という手順です。この式では、はじめに1と3の後ろに加算があるので、足して4が残ります。続いて5と4と2が積み上がり、次の除算は直前の2つ、つまり4と2にはたらくので、4割る2で2になります。残っているのは5とこの2ですから、次の減算は5から2を引いて3です。最後の乗算は残った4と3にはたらき、結果は12になります。判定の軸は、演算子が出るたびに直前の2つだけを見ること、そして引き算と割り算では先に置かれた側が引かれる数、割られる数になることです。
ほかの選択肢はなぜ違うのか
- ア−12:引き算で先に置かれた5を引かれる数とせず、2から5を引いてマイナス3としたときの値です。これに4を掛けるとマイナス12になりますが、後ろの値から前の値を引くのは記法の決まりに反します。
- イ2:割り算まで済ませた段階で止まった値です。4割る2の結果はまだ途中の数にすぎず、この後に5から引く手順と、4を掛ける手順が残っています。
- エ14:5と4を掛けて2で割った10に、1と3を足した4を加えると14になります。この読み方は減算を乗算として、最後の乗算を加算として扱っており、並んだ記号が指示する組み合わせとは違います。
出典:平成22年度 春期 基本情報技術者試験 午前 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)