平成18年春期試験午前問題 問8

次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。<パラメタ指定>として,正しいものはどれか。

<パラメタ指定>::=<パラメタ>|(<パラメタ指定>,<パラメタ>)
<パラメタ>::=<英字>|<パラメタ><英字>
<英字>::=a|b|c|d|e|f|g|h|i

  • ((abc,def))
  • ((abc,def),ghi)
  • (abc)
  • (abc,(def))
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:情報に関する理論
各肢を展開していき<パラメタ指定>に帰結するか否かを調べていきます。※英字の並びは<パラメタ>で表されます。
  • ((<パラメタ>,<パラメタ>))
    → ((<パラメタ指定>,<パラメタ>))
    → (<パラメタ指定>)
    外側の括弧を外すことができないので不適切です。
  • ((<パラメタ>,<パラメタ>),<パラメタ>)
    → ((<パラメタ指定>,<パラメタ>),<パラメタ>)
    → (<パラメタ指定>,<パラメタ>)
    → <パラメタ指定>
    最終的に<パラメタ指定>になるのでこれが正解です。
  • (<パラメタ>)
    → (<パラメタ指定>)
    括弧を外すことができないので不適切です。
  • (<パラメタ>,(<パラメタ>))
    これ以上変形できないので不適切です。
また、上記とは逆に<パラメタ指定>を再帰的に展開していき、答えを導くこともできます

<パラメタ指定>
→ (<パラメタ指定>,<パラメタ>)
→ ((<パラメタ指定>,<パラメタ>),<パラメタ>)
→ ((<パラメタ>,<パラメタ>),<パラメタ>)

括弧の位置と英字列の数から考えて適切な構文となっているのは「イ」とわかります。

この問題の出題歴


Pagetop