平成30年度秋期 問4 / 80

平成30年度 秋期 応用情報技術者試験 午前 問4

次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。<パラメタ指定>として,適切なものはどれか。

<パラメタ指定> ::= <パラメタ> | (<パラメタ指定>, <パラメタ>)
<パラメタ>     ::= <英字> | <パラメタ><英字>
<英字>         ::= a | b | c | d | e | f | g | h | i

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ア

定義から,<パラメタ>は英字a〜iを1文字以上並べたもの,<パラメタ指定>は<パラメタ>単独か,「(<パラメタ指定>,<パラメタ>)」の形です。

  • ア: ((abc,def),ghi)
    正しい。abc,def,ghiはいずれも<英字>の並びなので<パラメタ>です。abcは<パラメタ指定>にもなるため,(abc,def) は「(<パラメタ指定>,<パラメタ>)」の形で<パラメタ指定>になります。さらに ((abc,def),ghi) も「(<パラメタ指定>,<パラメタ>)」の形なので,<パラメタ指定>として適切です。

  • イ: ((abc,def))
    誤り。(abc,def) は<パラメタ指定>ですが,それを括弧で囲んだだけの「(<パラメタ指定>)」という形は定義にありません。括弧は必ず「,<パラメタ>」と組で現れます。

  • ウ: (abc,(def))
    誤り。カンマの後ろは<パラメタ>(英字の並び)でなければなりません。(def) は括弧を含むため<パラメタ>ではありません。

  • エ: (abc)
    誤り。括弧で囲む形は「(<パラメタ指定>,<パラメタ>)」だけなので,カンマのない (abc) は<パラメタ指定>になりません。


答え

ア: ((abc,def),ghi)

出典:平成30年度 秋期 応用情報技術者試験 午前 問4

平成30年度秋期の他の問題