あるプログラム言語において,識別子(identifier)は,先頭が英字で始まり,それ以降に任意個の英数字が続く文字列である。これをBNFで定義したとき,aに入るものはどれか。 <digit> ::= 0|1|2|3|4|5|6|7|8|9 <letter> ::= A|B|C|…|X|Y|Z|a|b|c|…|x|y|z <identifier> ::= a
選択肢
- ア<letter> | <digit> | <identifier><letter> | <identifier><digit>
- イ<letter> | <digit> | <letter><identifier> | <identifier><digit>
- ウ<letter> | <identifier><digit>
- エ<letter> | <identifier><digit> | <identifier><letter>
正解と解説
正解:エ <letter> | <identifier><digit> | <identifier><letter>
識別子は先頭が英字で、その後ろに英字か数字が任意個続く。再帰的に書くと、基底は英字1文字だけの場合であり、既にできている識別子の末尾に英字または数字を1つ付け足す規則を加えればよい。先頭に数字が来る形や、後ろに識別子を置く形は定義に合わない。
選択肢ごとの解説
- ア数字だけの識別子を認めてしまい、先頭が英字という条件に反する。
- イ数字始まりを認めるうえ、英字を前に付ける規則では先頭が英字である保証が崩れる。
- ウ末尾に英字を追加する規則が欠けており、A1Bのような識別子を導けない。
- エ正解。英字を基底とし、末尾に数字または英字を付け足す再帰定義になっている。
同じ分野の他の問題
- AIにおける機械学習において、2クラス分類モデルの評価方法の一つであるROC曲線で用いられる偽陽性率の説明として、最も適…2025年度 秋期 問2
- コンピュータによる伝票処理システムがある。このシステムは、伝票データをためる待ち行列をもち、M/M/1の待ち行列モデルが…2018年度 秋期 問2
- AIにおける機械学習の過程において、過学習と疑われたときの解消方法として、最も適切なものはどれか。2025年度 春期 問2
- 0≦x≦1の範囲で単調に増加する連続関数f(x)がf(0)<0≦f(1)を満たすときに、区間内でf(x)=0であるxの値…2025年度 春期 問1
- 式A+B×Cの逆ポーランド表記法による表現として、適切なものはどれか。2020年度 10月試験 問1
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。