応用情報に戻る
練習問題難易度: 標準2017年度

応用情報技術者 過去問練習問題 第4問

問題

あるプログラム言語において,識別子(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

選択肢

  1. 1<letter> | <digit> | <identifier><letter> | <identifier><digit>
  2. 2<letter> | <digit> | <identifier><identifier>
  3. 3<letter> | <identifier><digit>
  4. 4<letter> | <identifier><letter> | <identifier><digit>

正解

4. <letter> | <identifier><letter> | <identifier><digit>

詳しい解説を見る

解説

識別子は先頭が英字(<letter>)で,それ以降に英字または数字が0個以上続く文字列である。再帰的に定義すると「1文字だけの英字」=<letter>,または「既存の識別子の末尾に英字を追加」=<identifier><letter>,または「数字を追加」=<identifier><digit> となる。よってエが正しい。アは先頭が数字(<digit>)の識別子を許してしまうため誤り。(出典: 平成29年度 春期 応用情報技術者試験 午前 問4)

一問一答

全400問を繰り返し学習

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では応用情報の全3360問を分野別・難易度別に体系的に学習できます。応用情報技術者試験(AP)は IPA が実施する情報処理技術者試験のレベル3。2026年度からCBT方式へ移行し、科目A(四肢択一80問)・科目B(記述11問中5問選択)の2部構成で、それぞれ基準点以上が必要です。テクノロジ・マネジメント・ストラテジの全分野から出題されます。