資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

AP 平成29年度春期 問4

 

 あるプログラム言語において,識別子(identifier)は,先頭が英字で始まり,それ以降に任意個の英数字が続く文字列である。これをBNFで定義したとき,a に入るものはどれか。

 <digit>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
 <letter>::=A | B | C | … | X | Y | Z | a | b | c | … | x | y | z
 <identifier>::=   a  

  1. <letter> | <digit> | <identifier><letter> | <identifier><digit>
  2. <letter> | <digit> | <letter><identifier> | <identifier><digit>
  3. <letter> | <identifier><digit>
  4. <letter> | <identifier><digit> | <identifier><letter>

解答・解説

解答

 エ

解説

  1. <letter> | <digit> | <identifier><letter> | <identifier><digit>
    単独の<digit> があり、先頭が数字で始まる可能性があるため誤りです。

  2. <letter> | <digit> | <letter><identifier> | <identifier><digit>
    単独の<digit> があり、先頭が数字で始まる可能性があるため誤りです。

  3. <letter> | <identifier><digit>
    この2種類では、先頭が英字で始まり,それ以降に任意個の数字が続く文字列しか表現できません。

  4. <letter> | <identifier><digit> | <identifier><letter>
    正しいです。
    例えば“A1B”という文字列を表現する場合、次の順序で実現できます。
    ①<identifier> = <identifier><letter> を選択:<identifier><letter>
    ②<letter> = B を選択:<identifier>B
    ③<identifier> = <identifier><digit> を選択:<identifier><digit>B
    ④<digit> = 1 を選択:<identifier>1B
    ⑤<identifier> = <letter> を選択:<letter>1B
    ⑥<letter> = A を選択:A1B

参考情報

分野・分類
分野 テクノロジ系
大分類 基礎理論
中分類 基礎理論
小分類 情報に関する理論
出題歴
  • AP 平成29年度春期 問4
  • AP 平成23年度特別 問4

前問 一覧 次問