2010年8月4日水曜日

逆ポーランド表記法

逆ポーランド表記法

A=1,B=3,C=5,D=4,E=2 のとき,

逆ポーランド表記法で表現された式 AB+CDE/-* の演算結果はどれか。

ア -12        

イ 2        

ウ 12        

エ 14



【解説】

まずは逆ポーランド記法の説明です。

A+Bは逆ポーランド記法ではAB+になります。

これをもとに戻すには以下の手順を行います。

①Aをスタックに入れる

②Bをスタックに入れる

③+(演算子)があるのでBを取りだし、

 さらにAを取り出して(A+B)にしてスタックに入れます。

これを今回のパターンに当てはめると、

AB+CDE/-* なので、

①Aをスタックに入れる

②Bをスタックに入れる

③+があるのでB、Aを取り出しA+Bを入れる

④Cをスタックに入れる

⑤Dをスタックに入れる

⑥Eをスタックに入れる

⑦/があるのでE、Dを取り出しE/Dを入れる

⑧-があるので(E/D)、Cを取り出しC-(E/D)を入れる

⑨*があるのでC-(E/D)と(A+B)を取り出し

 (A+B)*C-(E/D)を入れる

よって(A+B)*C-(E/D)に、A=1,B=3,C=5,D=4,E=2を

代入すると12になります。

∴12

0 件のコメント:

コメントを投稿