基本情報技術者講座
★ 猫本 4-10 プログラム言語とマークアップ言語(その4) ★
基本情報技術者 令和元年度秋期 問7
次のBNFで定義される<変数名>に合致するものはどれか。
<数字>::= 0|1|2|3|4|5|6|7|8|9
<英字>::= A|B|C|D|E|F
<英数字>::=<英字>|<数字>|_
<変数名>::=<英字>|<変数名><英数字>
ア | _B39 |
イ | 246 |
ウ | 3E5 |
エ | F5_1 |
解説
<変数名>::=<英字>|<変数名><英数字>より
<変数名>は<英字> か
<変数名>は<変数名><英数字> のいずれか
↓
※以降,<変数名>に,<英字>か<変数名><英数字>を代入する。
↓
<変数名>は<英字><英数字> か
<変数名>は<変数名><英数字><英数字> のいずれか
↓
<変数名>は<英字><英数字><英数字> か
<変数名>は<変数名><英数字><英数字><英数字> のいずれか
(続く)
これより,<変数名>は,
<英字>
<英字><英数字>
<英字><英数字><英数字>…
よって,選択肢から英字で始まるのはエである。
解答
エ
基本情報技術者 平成28年度春期 問3
UNIXにおける正規表現 [A-Z]+[0-9]* が表現する文字列の集合の要素となるものはどれか。ここで,正規表現は次の規則に従う。
[A-Z]は,英字1文字を表す。
[0-9]は,数字1文字を表す。
*は,直前の正規表現の0回以上の繰返しを表す。
+は,直前の正規表現の1回以上の繰返しを表す。
ア | 456789 |
イ | ABC+99 |
ウ | ABC99* |
エ | ABCDEF |
解説
英字が1文字以上から始まり,数字が0文字以上続く(数字がなくてもよい)文字列なので,エである。
*と+は特殊文字なので,文字列には出てこない(イとウは×)。
解答
エ