オリジナル模擬試験3 問3
問3解説へ
数値に関する構文が次のとおり定義されているとき,<数値>として扱われるものはどれか。
<数値>::=<数字列>|<数字列>E<数字列>|<数字列>E<符号><数字列>
<数字列>::=<数字>|<数字列><数字>
<数字>::= 0|1|2|3|4|5|6|7|8|9
<符号>::=+|-
<数値>::=<数字列>|<数字列>E<数字列>|<数字列>E<符号><数字列>
<数字列>::=<数字>|<数字列><数字>
<数字>::= 0|1|2|3|4|5|6|7|8|9
<符号>::=+|-
- -12
- 12E-10
- +12E-10
- +12E10
広告
解説
問題文のBNFを解釈すると、<数値>は、
<数字列>は、符号(+,-)や「E」を含まない数字(0~9)のみが連なったものなので、<数値>の最初の文字として符号を使うことはできないことになります。
したがって、選択肢の中で最初が数字で開始している「12E-10」のみが、このBNFの定義と一致します。
- 数字列
- 数字列→E→数字列
- 数字列→E→符号→数字列
<数字列>は、符号(+,-)や「E」を含まない数字(0~9)のみが連なったものなので、<数値>の最初の文字として符号を使うことはできないことになります。
したがって、選択肢の中で最初が数字で開始している「12E-10」のみが、このBNFの定義と一致します。
広告