IPA過去問ドリル

平成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

正解:ア

解説

この文法は,生成される数字列の各桁の値の合計(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〉から生成される数である。
応用情報技術者の過去問を演習モードで解く