平成26年度 秋期 基本情報技術者試験 午前 問4
テクノロジ/アルゴリズム次に示す計算式と逆ポーランド表記法の組合せのうち,適切なものはどれか。 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成26年度 秋期 基本情報技術者試験 午前 問4
- ア計算式:((a+b)*c)-d,逆ポーランド表記法:abc*+d-
- イ計算式:(a+(b*c))-d,逆ポーランド表記法:ab+c*d-
- ウ計算式:(a+b)*(c-d),逆ポーランド表記法:abc*d-+
- エ計算式:a+(b*(c-d)),逆ポーランド表記法:abcd-*+
正解:エ
解説
計算式を逆ポーランド表記法に変換するには,演算子をその二つのオペランドの後ろに置き,内側の部分式から順に変換していきます。a+(b*(c-d))を変換すると,まずc-dをcd-,次にb*(c-d)をbcd-*,最後にa+(...)をabcd-*+とするのが正しい変換です。
選択肢ごとの解説
- ア誤り。((a+b)*c)-dを正しく変換するとab+c*d-になり,示されたabc*+d-はこの式に対応しません。
- イ誤り。(a+(b*c))-dを正しく変換するとabc*+d-になり,示されたab+c*d-はこの式に対応しません。
- ウ誤り。(a+b)*(c-d)を正しく変換するとab+cd-*になり,示されたabc*d-+はこの式に対応しません。
- エ正しい。a+(b*(c-d))を内側から順に変換すると,cd-,bcd-*,abcd-*+となり,一致します。