カコモンノート

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

4 / 80問
平成30年度 秋期2018年

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 1

解説

正解は1。BNFでは<パラメタ>は英字a〜iを1文字以上並べたもの(abc、def、ghiはどれも当てはまる)。<パラメタ指定>は、<パラメタ>そのものか、「(<パラメタ指定>, <パラメタ>)」の形をとる。
1を内側から確かめると、(abc, def)はabcが<パラメタ指定>、defが<パラメタ>なので<パラメタ指定>になる。さらに((abc, def), ghi)は、それを<パラメタ指定>、ghiを<パラメタ>とした形なので規則に合う。

  • 2は、外側の括弧の中にコンマと<パラメタ>がなく、「(<パラメタ指定>)」という形は定義にない。
  • 3は、コンマの右側の(def)が括弧付きで、<パラメタ>(英字の並び)ではない。
  • 4は、括弧の中にコンマがなく、(abc)という形は導出できない。

根拠:BNF(バッカス・ナウア記法)の生成規則。

KEY POINT
BNFの再帰定義は内側から当てはめる。括弧の形は「(指定, パラメタ)」だけで、右側に括弧は来ない。
出典:平成30年度 秋期 応用情報技術者試験 午前 問4(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。