基礎理論
アルゴリズム
コンピュータ構成要素
システム構成要素
ソフトウェア
ハードウェア
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
システム開発技術
ソフトウェア開発管理技術
😀 mypage
🥇 ranking
📊 chart
📏 rule
No.114 次のBNFで定義される<変数名>に合致するものはどれか。


 <数字>::= 0|1|2|3|4|5|6|7|8|9
 <英字>::= A|B|C|D|E|F
 <英数字>::=<英字>|<数字>|_
 <変数名>::=<英字>|<変数名><英数字>
⭕️
💾
🖊 ☑️
⭕️ [[ AnswerCalc[0] ]] % A [[ AnswerCalc[1] ]]
BNF(Backus-Naur Form)は、バッカス・ナウア記法とも呼ばれ、XMLをはじめ多くのプログラム言語の構文定義に用いられている記法です。

BNFで使われている各記号は、「::=」が左辺と右辺の区切り、「|」がor(または)、「<>」は非終端記号を表しています。それぞれのBNFは次のように解釈することができます。
<数字>
1~9までの1文字
<英字>
A~Fまでの1文字
<英数字>
<数字>または<英字>または"_"
<変数名>
<英字>1文字、または<変数名>の後ろに<英数字>が付いたもの
ある文字列が特定の非終端記号に合致するかどうかを判断する場合、文字を非終端記号に置き換えることを繰り返して、最終的に目的の非終端記号(本問では<変数名>)の形になるかを考えていきます。
  • _B39
    _B39

    <英数字><英字><数字><数字>

    <英数字><英字><英数字><英数字>

    <英数字><変数名><英数字>

    <英数字><変数名>

    先頭文字が"_"なので<変数名>には合致しません。
  • 246
    246

    <数字><数字><数字>

    <英数字><英数字><英数字>

    <変数名>に置き換えられる部分はありません。
  • 3E5
    3E5

    <数字><英字><数字>

    <数字><英字><英数字>

    <英数字><変数名>

    先頭文字が<数字>なので<変数名>には合致しません。
  • F5_1
    F5_1

    <英字><数字><英数字><数字>

    <英字><英数字><英数字><英数字>

    <変数名><英数字><英数字>

    <変数名><英数字>

    <変数名>

    最終的に<変数名>に置き換え可能なので、BNFに合致する文字列となります。よって正解です。
【別解】
<変数名>は<英字>1文字、または<変数名>の後ろに<英数字>が付いたもの
解答群は、前者ではないため、後者でしかない。
<変数名>の後ろに<英数字>が付いたもの

(<変数名>の後ろに<英数字>が付いたもの)の後ろに<英数字>が付いたもの

((<変数名>の後ろに<英数字>が付いたもの)の後ろに<英数字>が付いたもの)の後ろに<英数字>が付いたもの

・・・
つまり
<変数名>の後ろに<英数字>が一つ以上付いたもの
つまり
<英字>1文字の後ろに<英数字>が一つ以上付いたもの

英字から始まっている文字列は「エ」しかないので、すぐに正解がわかります。
💾 ✔️
[[ d.CommentTxt ]]
🏠 >   基本情報技術者試験 >     テクノロジー >     基礎理論 >  
< >
🥇