正解は「ウ」です。 中置記法から逆ポーランド表記法(後置記法)への変換は、演算子の優先順位に従って括弧を補い、演算子をその後ろに移動させる手順で行います。 対象の式:$A + B \times C$ 1. 演算子の優先順位に基づき括弧を付与:
乗算($\times$)は加算($+$)よりも優先されるため、
$(A + (B \times C))$ 2. 内側の括弧 $(B \times C)$ を後置表記に変換:
$B \times C \to B C \times$
式全体は $(A + (B C \times))$ となります。 3. 外側の加算($+$)を後置表記に変換:
第 1 オペランドが $A$、第 2 オペランドが $B C \times$ なので、演算子 $+$ を末尾に移動します。
$A (B C \times) + \to A B C \times +$ したがって、「ウ」が正解です。 読む記号 スタックの動き スタックの中身(右が先頭) A 積む A B 積む A, B C 積む A, B, C × B と C を取り出し B×C を積む A, (B×C) + A と (B×C) を取り出し和を積む A+B×C ABC×+ を左から計算すると、先に B×C、次に A との和になり、元の式 $A+B\times C$ と一致します。