2017年09月04日

平成29年度春期 応用情報技術者試験問題 問4

問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  

 ア <letter>|<digit>|<identifier><letter>|<identifier><digit>
 イ <letter>|<digit>|<letter><identifier>|<identifier><digit>
 ウ <letter>|<identifier><digit>
 エ <letter>|<identifier><digit>|<identifier><letter>



【正解】 エ

ア <letter>|<digit> は、
 文字列で始まるか、数字で始まることを許す定義であり、
 誤りである。
イ アと同様。
ウ 先頭は英字で始まるが、その後は
 
<identifier><digit> → <identifier><digit><digit> →
 <identifier><digit>
<digit><digit> → 
 となり、先頭以外は数字になる。
エ 正しい。


EXCEL VBAのご相談なら ファーストマクロ 



タグ:BNF
posted by ファーストマクロ at 00:10| Comment(0) | H29春応用情報技術者
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: