オリジナル模擬試験1 問1

問1

逆ポーランド表記法(後置表記法)で,"AB+CD-÷GEF-÷+"と表現される式はどれか。
  • ((A+B)+(C-D))÷G-(E÷F)
  • ((A+B)÷(C-D))+G÷(E-F)
  • ((E-F)÷G)+((C-D)÷(A+B))
  • ((E-F)÷G)÷((C-D)+(A+B))

分類

テクノロジ系 » 基礎理論 » 情報に関する理論

正解

解説

逆ポーランド表記法から、通常表記の式を導く問題です。

通常表記の式に戻す方法について順番に説明していきます。

まず、逆ポーランド表記法で表現された式の中で、[文字,文字,演算子]のパターンになっている箇所に注目します。問題中の式"AB+CD-÷GEF-÷+"では、AB+, CD-及びEF-がそれに該当します。
 AB+CD-÷GEF-÷+

この[文字,文字,演算子]のパターンにマッチした場所を、[文字,演算子,文字]に変えます。
 (A+B)(C-D)÷G(E-F)÷+

上記のように変換した部分については、そのかたまりを一つの項として扱いますので括弧をつけておくとわかりやすいでしょう。

再び、式の中から[文字,文字,演算子]のパターンになっている箇所を探します。先ほど変換した部分についても一つの文字(項)として見てみると、(A+B)(C-D)÷の部分と、G(E-F)÷の部分がパターンにマッチします。
 (A+B)(C-D)÷G(E-F)÷

先程と同じように、パターンにマッチした部分を、[文字,演算子,文字]の順に入れ替えます。
 ((A+B)÷(C-D))(G÷(E-F))+

最後に右端残った +の演算子がに注目して、再び同じ処理を繰り返し、[文字,演算子,文字]に変換します。
 ((A+B)÷(C-D))+G÷(E-F)

こうして変換された式"((A+B)÷(C-D))+G÷(E-F)"は、選択肢の「イ」の式と同じになることがわかります。

もうお分かりになったと思いますが、逆ポーランド表記法から通常の式に変換する方法は、式の中から[文字,文字,演算子]のパターンになっている箇所を探し、その部分を[文字,演算子,文字]に変えるという処理を繰り返していくだけです。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop