スポンサードリンク

2014年03月30日

よくわかる逆ポーランド記法(後置記法)問題の解き方&検算ルール

基本情報や応用情報なんかで良く出る問題なんですが、よくわからないうちは適当に選択肢を選んで外したりしてしまう問題になっていないでしょうか。解法と検算のルールを身につければ迷わず答えにたどり着けて得点源にできますよ。

この問題については、何よりも大原則をしっかり覚えることが大事です。
次のルールだけ覚えましょう。
演算対象の2つの変数の後ろに演算子を置く


ルールはこれだけです。
あとは計算のテクニックとして次の2つを頭に入れておきましょう。
@途中式における最小単位は別文字に置換する
A式全体が最小単位になったら置き換えた文字を全部戻す


ちなみに、ここで言う「最小単位」は「AB+」や「PQ÷」や「YS=」といった「文字 文字 演算子」のパターンを指します。
大文字エックスと掛ける記号が判読上不便なので掛ける記号は*でここでは表記するものとして進めます。

■例題1
X=(A+B)*C を逆ポーランド表記法に変換しなさい。




では早速解きます。
■例題1解
X=(A+B)*C
とあったら、最初に計算するのは?を考えるとA+Bです。

最初に書いたルール「演算対象の2つの変数の後ろに演算子を置く」を適用して次の通りとなります。
X=(AB+)*C

ここでできたAB+というのが、この記事の中で「最小単位」と呼ぶものに該当します。

次に、「最小単位」ができたので、
計算テクニック@「途中式における最小単位は別文字に置換する」を適用すると次の通りとなります。

X=P*C

これを見て、次に計算するのは?を考えるとA+Bです。
再度、ルール「演算対象の2つの変数の後ろに演算子を置く」を適用して次の通りとなります。

X=PC*

「最小単位」ができたので、
計算テクニック@「途中式における最小単位は別文字に置換する」を適用すると次の通りとなります。

X=Q

これに、またルール「演算対象の2つの変数の後ろに演算子を置く」を適用して次の通りとなります。

XQ=

式全体が「最小単位」となりましたので、使うテクニックは@ではなく、
Aの「式全体が最小単位になったら置き換えた文字を全部戻す」を適用してやることになります。

まずQ(置き換え前は「PC*」でした)を戻して、

XPC*=

次にP(置き換え前は「AB+」でした)を戻すと、

XAB+C*=

となり全て戻し終えたところで逆ポーランド表記法への変換が完了となります。


ということで、最低限のルールとテクニックを使うことで解けるようになります。
ぜひ覚えてみてください。



ここまで読んでいただけた方にはさらにオマケをご用意しております。

実際の出題例は次の通りです。上記が理解されていれば問題なく解けるハズですね。

■練習問題1:基本情報技術者 H24春
次の式を後置換記法で表現したものはどれか。
Y=(A+B)×(C−(D÷E))
[ア]YAB+C−DE÷×=
[イ]YAB+CDE÷−×=
[ウ]YAB+EDC÷−×=
[エ]YAB+CD−E÷×=


■練習問題2:応用情報技術者 H24秋
式E=(A+B)×(C−D)と対応する逆ポーランド表記法はどれか。
[ア]=E×+AB−CD
[イ]EAB+CD−×=
[ウ]EAB−CD+×=
[エ]EABC×+D−=


次の検算ルールを頭に入れておくと、出題方法によっては選択肢を減らすことができます。
元の式と変換後の逆ポーランド表記法では「登場する文字の順序は必ず一致する」

という法則性があります。これも覚えておくと良いでしょう。
これを踏まえて上記練習問題1を考えると、練習問題1はウが選択肢から消えてくれますね。

ということで、これらを身に着けて、ぜひ得点源にしてください。

平成26年度【春期】【秋期】 応用情報技術者 合格教本 (情報処理技術者試験)
大滝 みや子 岡嶋 裕史
技術評論社
売り上げランキング: 7,424


練習問題1の答え:イ、練習問題2の答え:イ

※練習問題2の答えを誤記しておりました。ご指摘いただいて訂正しております。

スポンサードリンク

posted by おっ at 01:36 | Comment(2) | TrackBack(0) | 資格 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
大変参考になりましたが、練習問題2の答えの答えはイだと思うのです。
Posted by at 2014年04月02日 22:55
ご指摘ありがとうございます。
大変失礼いたしました。その通りですね。。。

記事文面を訂正いたしました。
今後ともよろしくお願いいたします。
Posted by おっ at 2014年04月08日 00:16
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/393084021

この記事へのトラックバック