IPA過去問ドリル

令和元年度 秋期 基本情報技術者試験 午前 問7

テクノロジ/基礎理論

次のBNFで定義される <変数名> に合致するものはどれか。 <数字> ::= 0|1|2|3|4|5|6|7|8|9 <英字> ::= A|B|C|D|E|F <英数字> ::= <英字>|<数字>|_ <変数名> ::= <英字>|<変数名><英数字>

出典:令和元年度 秋期 基本情報技術者試験 午前 問7

正解:エ

解説

<変数名> ::= <英字>|<変数名><英数字> という再帰的定義は,「先頭は必ず英字(A〜F)1文字で,2文字目以降は英数字(A〜F,0〜9,アンダースコア)を何個でも続けてよい」という意味になります。したがって先頭が英字かどうかがまず決め手になります。

選択肢ごとの解説

  • 誤り。先頭が _ です。_ は<英数字>には含まれますが<英字>ではないので,変数名の先頭には置けません。
  • 誤り。先頭が数字の2なので,先頭が英字という規則に反します。
  • 誤り。E は<英字>ですが,先頭が数字の3なので規則に反します。
  • 正しい。先頭の F が<英字>であり,続く 5,_,1 はいずれも<英数字>なので合致します。
基本情報技術者の過去問を演習モードで解く