本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成18年度 技術士第一次試験問題【専門科目】

W−10

3個以上の正の整数を “,” で区切った文字列 <INTLIST> を表す、次のような BN記法 (BNF) の文法規則がある。[ア]と[イ]の組合せとして最も適切なものを@〜Dの中から選べ。
 <INTLIST> ::= <INTEGER> [ア]
 <INTEGERS> ::= “,”<INTEGER> | “,” <INTEGER> <INTEGERS>
 <INTEGER> ::= <NONZERO> | [イ]
 <DIGIT> ::= “0” | <NONZERO>
 <NONZERO> ::= “1”|“2”|“3”|“4”|“5”|“6”|“7”|“8”|“9”|

@ [ア]“,”<INTEGER>“,”<INTEGERS> [イ] <NONZERO> <DIGIT>

A [ア]“,”<INTEGER>“,”<INTEGERS> [イ] <INTEGER> <DIGIT>

B [ア]“,”<INTEGER> <INTEGERS> [イ] <DIGIT> <INTEGER>

C [ア]“,”<INTEGER> <INTEGERS> [イ] <INTEGER> <DIGIT>

D [ア] <INTEGERS>         [イ] <DIGIT> <INTEGER>


正解

C


解説

BNF (Backus Naur Form) は、プログラム言語などの構文を記述するためのメタ言語のことである。

[ア] が “,”<INTEGER>“,”<INTEGERS>だと、
,1,,1 のように , が2つ並ぶことになり、適切でない。従って、@Aは誤り。

[イ] が <DIGIT><INTEGER> だと
012 が表現できるものの、10 や 210 が表現できなくなる。従ってBDは誤り。

W−9 目次 W−11