平成26年度春期 応用情報技術者試験 午前 問3

分野:基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量)|実際に出題されたIPA過去問題

次の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〉

  1.  123
  2.  124
  3.  127
  4.  128
解答・解説を見る

正解:ア

AI解説

このBNFは各桁を3で割った余りで分類している。〈R0〉は余り0の数字(0,3,6,9),〈R1〉は余り1(1,4,7),〈R2〉は余り2(2,5,8)であり,〈A〉は桁の余りの合計が3で割り切れる文字列,〈B〉は余り1,〈C〉は余り2の文字列を生成する。つまり〈A〉が生成するのは各桁の和が3の倍数,すなわち3の倍数を表す文字列である。123は1+2+3=6で3の倍数なので〈A〉から生成できる。 ア: 正解。123は桁の和が1+2+3=6で3の倍数であり,〈A〉から導出できる(例:1は〈B〉,12は1(余り1)+2(余り2)で余り0の〈A〉,123は〈A〉〈R0〉で〈A〉となる)。 イ: 124は桁の和が7で3で割ると余り1,〈A〉ではなく〈B〉から生成される文字列である。 ウ: 127は桁の和が10で余り1,これも〈B〉から生成される文字列である。 エ: 128は桁の和が11で余り2,〈C〉から生成される文字列である。 💡 R0/R1/R2が「3で割った余り」の数字グループだと気づくのが最短ルート。〈A〉=余り0,〈B〉=余り1,〈C〉=余り2の状態をもつオートマトンと見れば,答えは桁和が3の倍数の選択肢だけである。

出典:平成26年度 春期 応用情報技術者試験 午前 問3 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「基礎理論」分野の攻略ポイント

2進数・論理演算・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量が範囲です。純粋な計算問題が多く、対策の有無がそのまま得点差になります。手を動かす練習が最も効く分野です。

基礎理論の攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量))の過去問