スタックと木・逆ポーランド 想定問題 1
式「A×(B-C)+D÷E」を,逆ポーランド記法(後置記法)で表したものとして,最も適切なものはどれか。
逆ポーランド記法(後置記法)は,演算子を2つの演算数の後ろに書く書き方で,たとえば中置記法の「(A-B)×C」は「AB-C×」と書く。この書き方ではかっこを使わない。また,×と÷は+と-より先に計算する。
解説
ポイント
ふつうの式「A×(B−C)+D÷E」を,逆ポーランド記法に直す問題です。
考え方と解き方
最後に計算する演算子を木の根にし,「左 → 右 → 演算子」の順に書き出します。× と ÷ は + より先なので,最後に計算するのは + です。
- 根は +。左が A×(B−C),右が D÷E
- 左の部分:B−C は「BC−」,A とつないで「ABC−×」
- 右の部分:D÷E は「DE÷」
- 左,右,根の順に並べて「ABC−×DE÷+」
- 確かめ:左から読んで演算子が来たら直前の2つで計算する。B−C → A×(B−C) → D÷E → + で,元の式と同じ。答えは ②
ほかの選択肢
①:AB×C− は (A×B)−C の意味で,かっこの (B−C) が先に計算されません。
③:(B−C) と (D÷E) を先に × でかけてから A を足す形で,A+(B−C)×(D÷E) の意味になります。
④:演算子を前に書くポーランド記法(前置記法)で,逆ポーランド記法ではありません。
⑤:ABC×− は A−(B×C) の意味で,元の式と合いません。
覚えておくこと
- 式の木を「左の部分木 → 右の部分木 → 節」の順にたどると逆ポーランド記法になる(テキスト・覚えること)
- 逆ポーランドに直すときは,最後に計算する演算子を木の根にして,左右に分けていく(テキスト・解き方)
- 演算子を前に書く「ポーランド記法(前置記法)」の選択肢がまぎれている(テキスト・ひっかけ)
類似する過去問:令和3年度 基礎科目 I-2-5、平成30年度 基礎科目 I-2-5
テキスト「スタックと木・逆ポーランド」を読む