応用情報23年 秋 午前 問2
(今日から、10月16日に行われた、秋期試験の問題解説です)
【問題を解く前に】
基礎理論→基礎理論→3. 情報に関する理論→(5)形式言語
の「逆ポーランド記法」
【解き方】
逆ポーランド記法のやり方を知らないと、さすがにできませんね。
やり方は、
A+B
とかあったとき、演算子を後にかく
AB+
というものです。
だから、A+BXCは、AB+で・・・
・・・となって混乱してしまったあなたのために、
こういう法則があります。
答え(ここでは選択肢)に対して
1.符号が出てくるまで、突き進んでください
2.符号が出てきたら、
直前の数字・文字・かたまりを符号の後におき
3.数字・文字・かたまり 符号 2で置き換えた文字
を()でくくって一塊にしてください
4.1に戻る
さて、ここで、問2の選択肢をみてみると・・・
アについて 一番初めから、記号なので、2の操作ができない・・・違う
イについて 一番初めから、記号なので、2の操作ができない・・・違う
ウについて
1.Xがでてくる
2.直前の文字は、Cなので、Xのあとにもってきて・・・
3.BXCを1かたまりとみなす
A (BXC) +
4.1にもどる
2回目の
1.+がでてくる
2.直前の文字・塊は、(BXC)なので、それを+のあとにもってくると・・・
3.A+(BXC) 括弧ははずしても順番変わらない
A+BXC・・・これだ!
エについて
1.+がでてくる
2.直前の文字はAなので、それを後ろに持ってくる
3.B+Aを1塊と見なす
C (B+A) X
4.1にもどる
2回目の
1.Xがでてくる
2.(B+A)をうしろにもってくる
3.CX(B+A)・・・なんか、ちがうぞ (^^;)
ということで、答えは
【答え】
ウ
【解き終わって】
これ、別に変わったことをやっているわけではなく、
逆演算をしているだけです。
コンピューターの中では、これに近いことをして、
計算をしているみたいです
くわしくは、ここ
http://ja.wikipedia.org/wiki/%E9%80%86%E3%83%9D%E3%83%BC%E3%83%A9%E3%83%B3%E3%83%89%E8%A8%98%E6%B3%95
の「計算動作の例」を参照。
コンピューターの場合、塊をつくるかわりに、計算して、結果をスタックに積んでいる。
★(PR) まぐまぐでメルマガ始めました。以下のとおりです。よかったら、登録してくださいね!
●メルマガID:0001289711
【メルマガタイトル】 試験と実務の関連を説明する−実践!情報処理試験講座 メール版
【個別ページ】 http://www.mag2.com/m/0001289711.html