基礎理論

基本情報技術者試験 科目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 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「状態遷移・構文規則・マルコフ過程」で学ぶ

同じ知識の過去問