令和元年度 秋期 午前 問7
情報に関する理論
BNFに関する問題
次のBNFで定義される <変数名> に合致するものはどれか。
<数字> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <英字> ::= A | B | C | D | E | F <英数字> ::= <英字> | <数字> | _ <変数名> ::= <英字> | <変数名><英数字>
- ア_B39
- イ246
- ウ3E5
- エF5_1
答えと解説を見る
✓ これが正解エF5_1
解説
先頭は英字だけで、二文字目から先は英数字も置けます。
このBNFの定義は、自分自身を使って書かれているところが要点です。一つ目の書き方は、英字が一文字だけという最も短い形を表しています。二つ目は、すでに正しいと認められたものの後ろへ、さらに一字を足す形です。つまり出発点は必ず英字であり、そこから右へ一字ずつ伸びていく構造になっています。後ろへ足せる一字は英数字と定義されており、その中身は英字と数字と下線です。ここから決まりが二つ出てきます。先頭は英字でなければならないこと、そして二文字目から先は数字や下線を混ぜてよいことです。英字として認められているのはAからFまでの六文字だけなので、そこも見落とせません。先頭の一字を見るだけで多くが外れるため、そこから確かめると速く片が付きます。短い例から順に作ってみると、決まりが目に見えてきます。
ほかの選択肢はなぜ違うのか
- ア_B39:先頭が下線になっています。下線は後ろへ足せる一字には含まれますが、始まりの位置には置けません。伸ばす途中で使える文字と、出発点に使える文字は別だ、という区別がそのまま問われています。置ける文字と置ける位置は別に覚えます。
- イ246:三文字とも数字なので、先頭が英字という決まりに合いません。数字が現れてよいのは、後ろへ足していく側だけです。先頭の一字を見た時点で外せる、いちばん分かりやすい形といえます。数字だけの名前は普通は使えません。
- ウ3E5:先頭が数字なので、その一点で外れます。二文字目に英字が入っていても、出発点が英字でなければ認められません。途中に正しい文字が混ざっている肢は、うっかり通してしまいやすいところです。二文字目から先に見ると正しく見えます。
出典:令和元年度 秋期 基本情報技術者試験 午前 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)