基礎理論

基本情報技術者試験BNFで <数字列> ::= <数字> | <数字列><数字> 、<数字> ::= 0|1|2…

テクノロジ系基礎理論難易度:hard
BNFで <数字列> ::= <数字> | <数字列><数字> 、<数字> ::= 0|1|2 と定義されている。この規則が生成する文字列として正しいものはどれか。
201 は規則に従って生成できる
3 は生成できる正しい文字列である
空文字列(長さ0)も生成される
−12 のように符号付きでも生成できる
正解
ア.201 は規則に従って生成できる

<数字>は0|1|2のいずれか1文字。<数字列>は<数字>単独、または<数字列>の後ろに<数字>を1つ付ける再帰で、0〜2の数字を1個以上並べた列を生成する。201は2,0,1がすべて該当し生成可能なので正しい。

?選択肢ごとの解説

ア ○<数字>は0|1|2のいずれか1文字。<数字列>は<数字>単独、または<数字列>の後ろに<数字>を1つ付ける再帰で、0〜2の数字を1個以上並べた列を生成する。201は2,0,1がすべて該当し生成可能なので正しい。
イ ×3は<数字>の定義(0|1|2)に含まれないため、どの規則でも生成できない。
ウ ×<数字列>は最低でも<数字>1個から始まる定義で空文字列を導く規則がないため、長さ0は生成されない。
エ ×符号−を生成する規則は定義に存在しないため、−12のような符号付き文字列は生成できない。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0093

【基本情報技術者試験】BNFで <数字列> ::= <数字> |…|正解「201…」|ukamiru 過去問