基礎理論
基本情報技術者試験 科目A免除 修了試験 20240128 実施分 問3
次のBNFにおいて非終端記号〈A〉から生成される文字列はどれか。
〈R0〉 ::= 0 | 3 | 6 | 9
〈R1〉 ::= 1 | 4 | 7
〈R2〉 ::= 2 | 5 | 8
〈A〉 ::= 〈R0〉 | 〈A〉〈R0〉 | 〈B〉〈R2〉 | 〈C〉〈R1〉
〈B〉 ::= 〈R1〉 | 〈A〉〈R1〉 | 〈B〉〈R0〉 | 〈C〉〈R2〉
〈C〉 ::= 〈R2〉 | 〈A〉〈R2〉 | 〈B〉〈R1〉 | 〈C〉〈R0〉
(R0, R1, R2 の数字は下付き添字)
- ア 123
- イ 124
- ウ 127
- エ 128
出典:基本情報技術者試験 科目A免除 修了試験 20240128 実施分 問3
答えと解説を見る
正解:ア
覚える知識
BNF構文規則の適合判定
BNFは「::=」と「|」で再帰的に文字列の生成規則を定義する記法である。
この問題で必要なこと
R0は3で割った余りが0、R1は1、R2は2の数字で、A,B,Cは桁の和を3で割った余りが0,1,2の数列を表す。Aは各桁の和が3の倍数となる数列で、123が該当する。
ひっかけ
余りの対応を取り違えると124,127,128を選ぶ。
この知識の出題:本試験系 2 回・免除試験 2 回(公開問題での観測値)