令和元年度 秋期 基本情報技術者試験 午前 問7
テクノロジ/基礎理論次のBNFで定義される <変数名> に合致するものはどれか。 <数字> ::= 0|1|2|3|4|5|6|7|8|9 <英字> ::= A|B|C|D|E|F <英数字> ::= <英字>|<数字>|_ <変数名> ::= <英字>|<変数名><英数字>
出典:令和元年度 秋期 基本情報技術者試験 午前 問7
- ア_B39
- イ246
- ウ3E5
- エF5_1
正解:エ
解説
<変数名> ::= <英字>|<変数名><英数字> という再帰的定義は,「先頭は必ず英字(A〜F)1文字で,2文字目以降は英数字(A〜F,0〜9,アンダースコア)を何個でも続けてよい」という意味になります。したがって先頭が英字かどうかがまず決め手になります。
選択肢ごとの解説
- ア誤り。先頭が _ です。_ は<英数字>には含まれますが<英字>ではないので,変数名の先頭には置けません。
- イ誤り。先頭が数字の2なので,先頭が英字という規則に反します。
- ウ誤り。E は<英字>ですが,先頭が数字の3なので規則に反します。
- エ正しい。先頭の F が<英字>であり,続く 5,_,1 はいずれも<英数字>なので合致します。