オリジナル模擬試験3 問3

数値に関する構文が次のとおり定義されているとき,<数値>として扱われるものはどれか。

<数値>::=<数字列>|<数字列>E<数字列>|<数字列>E<符号><数字列>
<数字列>::=<数字>|<数字列><数字>
<数字>::= 0|1|2|3|4|5|6|7|8|9
<符号>::=+|-

  • -12
  • 12E-10
  • +12E-10
  • +12E10
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:情報に関する理論
解説
問題文のBNFを解釈すると、<数値>は、
  • 数字列
  • 数字列→E→数字列
  • 数字列→E→符号→数字列
の3つのいずれかの構文になり、どのケースにも文の始まりは<数字列>になることがわかります。
<数字列>は、符号(+,-)や「E」を含まない数字(0~9)のみが連なったものなので、<数値>の最初の文字として符号を使うことはできないことになります。
したがって、選択肢の中で最初が数字で開始している「12E-10」のみが、このBNFの定義と一致します。

出典


Pagetop