goo blog サービス終了のお知らせ 

Visual Studio VB.NET Tips 集

プログラミング集です。
メインはVisual Basic .NET でございます。

逆ポーランド表記法

2010-08-01 11:24:26 | 日記
逆ポーランド表記法

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