SC情報処理安全確保支援士試験 午前Ⅰ
平成29年度春期 情報処理安全確保支援士 午前Ⅰ 問2
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アぐくdgtテー0|112131415le6l7lsl9くletter>テAIBICI…IXIYIZlalblcl…lxlylz
- イべくidentiferドー [しュ』
- ウ<ぐletter> | ぐdigit> | くidentifer>ぐletter> | くidentifer>ぐdigit> イ。ぐJetter> | <digit> | くletter>ぐidentifer> | くidentifer>ぐdigit> ウぐletter> | ぐidentifer>くdigit
- エぐJetter | <identifer>ぐdigit> | くiqentifer>ぐletter>
解き方のヒントを見る
午前I 問02:BNFは“文の作り方ルール”を書くための記法だよ
Backus-Naur Form(BNF)は、プログラミング言語などの文法を表すための書き方だよ。料理のレシピみたいに、「この部品は、こういう部品の組合せで作れるよ」と、非終端記号・終端記号・生成規則を使って構文の形を定義するんだ。
この問題で問われていること
ここでは、BNFが意味の説明や状態の移り変わりを表すものではなく、“文としてどう組み立てられるか”を定義する記法だと見抜けるかがポイントだよ。
BNF
BNF formally describes syntax rules using nonterminals、 terminals、 and production rules
syntax definition\nproduction rules
確認ポイント
- 意味や処理手順の記述ではありません。
- 構文規則の記述です。
- 文法定義の説明を選ぶ。
正解と解説を見る
正解
エ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは不正解だよ。<digit>だけでも<identifier>になれるので、1や9abcみたいに数字で始まる名前を許してしまうんだ。問題は「先頭は英字」と言っているから、受付で『最初は英字の札を見せてね』と言っているのに、数字の札だけで通してしまうようなものだよ。
選択肢イ
これは不正解だよ。これも<digit>だけで<identifier>になれるので、先頭が数字のものを許してしまうんだ。さらに<letter><identifier>もあるので後ろ側に数字始まりのidentifierをつなげられてしまうけど、そもそも数字単独OKの時点で条件から外れているよ。
選択肢ウ
これは不正解だよ。最初の1文字は<letter>で始められるけど、その後に足せるのが<digit>だけだから、A123みたいな名前は作れても、AbcやA1bみたいに途中や後ろに英字を混ぜられないんだ。名札を作るルールなのに、2文字目以降は数字シールしか貼れない感じだね。
選択肢エ(正解)
これが正解だよ。まず<letter>で英字1文字の名前を作り、そこに<digit>や<letter>を後ろへ何個でも足していける。つまりA、A1、Ab、Ab12みたいに『先頭は英字、後ろは英字でも数字でもOK』をそのまま表せているんだ。先頭の合鍵だけは英字で作り、その後の飾りは英字でも数字でも足せるイメージだね。
出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 情報処理安全確保支援士試験 午前Ⅰ 問2(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針