平成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 / 逆ポーランド表記法 abc*+d−
- イ計算式 (a+(b*c))−d / 逆ポーランド表記法 ab+c*d−
- ウ計算式 (a+b)*(c−d) / 逆ポーランド表記法 abc*d−+
- エ計算式 a+(b*(c−d)) / 逆ポーランド表記法 abcd−*+
答えと解説を見る
✓ これが正解エ計算式 a+(b*(c−d)) / 逆ポーランド表記法 abcd−*+
解説
記号が来たら直前の 2 つを結ぶと式へ戻せます。
逆ポーランド表記法は、演算の記号を対象の後ろに置く書き方です。もとの計算式へ組み立て直すには、左から一つずつ読み進め、演算の記号が現れたところでその直前にある二つのかたまりをその記号で結び、結んだ結果をふたたび一つのかたまりとして扱います。判定の軸は、並べられた表記法を組み立て直した結果が、隣に並ぶ計算式と一致するかという一点です。四つの組合せは見た目が似ているので、目で見比べるのではなく、四つとも組み立て直して当てるのが確実です。正解にあたる組合せでは、まず c と d を引き算のかたまりにし、次にそれを b と掛け合わせ、最後に a を足す順になり、隣に並ぶ計算式とそのまま重なります。
ほかの選択肢はなぜ違うのか
- ア計算式 ((a+b)*c)−d / 逆ポ…:表記法を左から順にたどると、b と c を掛けてから a を足し、最後に d を引く形になります。並んでいる計算式は a と b を先に足す形なので、掛け算と足し算の順序が入れ替わっています。
- イ計算式 (a+(b*c))−d / 逆ポ…:表記法を左から順にたどると、a と b を先に足し、それに c を掛けてから d を引く形になります。並んでいる計算式は b と c を先に掛ける形なので、二つの組合せは表記法どうしが入れ替わっています。
- ウ計算式 (a+b)*(c−d) / 逆ポ…:表記法を左から順にたどると、b と c を掛け、そこから d を引いてから a を足す形になります。並んでいる計算式は a と b の和に c と d の差を掛ける形で、かたまりの作られ方が違います。
出典:平成26年度 秋期 基本情報技術者試験 午前 問4(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)