平成26年度 春期 応用情報技術者試験 午前 問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〉
出典:平成26年度 春期 応用情報技術者試験 午前 問3
- ア123
- イ124
- ウ127
- エ128
正解:ア
解説
この文法は,生成される数字列の各桁の値の合計(mod3)を非終端記号ごとに保持する構造になっており,〈A〉はmod3が0,〈B〉は1,〈C〉は2になる数字列を生成する。123は桁の和が1+2+3=6で3の倍数(mod3が0)なので〈A〉から生成される。
選択肢ごとの解説
- ア正しい。123は桁の和が1+2+3=6で3の倍数(mod3が0)になるため,非終端記号〈A〉から生成される。
- イ誤り。124は桁の和が1+2+4=7でmod3が1になるため,〈A〉ではなく〈B〉から生成される数である。
- ウ誤り。127は桁の和が1+2+7=10でmod3が1になるため,〈A〉ではなく〈B〉から生成される数である。
- エ誤り。128は桁の和が1+2+8=11でmod3が2になるため,〈A〉ではなく〈C〉から生成される数である。