次の表は、文字列を検査するための状態遷移表である。
検査では、初期状態をaとし、文字列の検査中に状態がeになれば不合格とする。
解答群で示される文字列のうち、不合格となるものはどれか。
ここで、文字列は左端から検査し、解答群中の△は空白を表す。
文字 | ||||||
空白 | 数字 | 符号 | 小数点 | その他 | ||
現 在 の 状 態 |
a b c d |
a a e a |
b b b e |
c e e e |
d d d e |
e e e e |
ア | +0010 |
イ | -1 |
ウ | 12.2 |
エ | 9.△ |
答え ウ
【解説】
ア | 初期状態aから「+0010」を処理する。 「+」は符号なので状態はa→cに遷移 「0」は数字なので状態はc→bに遷移 「0」は数字なので状態はbのまま遷移しない 「1」は数字なので状態はbのまま遷移しない 「0」は数字なので状態はbのまま遷移しない 「+0010」は状態eにならなかったので合格 |
イ | 初期状態aから「-1」を処理する。 「-」は符号なので状態はa→cに遷移 「2」は数字なので状態はc→bに遷移 「-1」は状態eにならなかったので合格 |
ウ | 初期状態aから「12.2」を処理する。 「1」は数字なので状態はa→bに遷移 「2」は数字なので状態はbのまま遷移しない 「.」は小数点なので状態はb→dに遷移 「2」は数字なので状態はd→eに遷移 「12.2」は状態eになったので不合格 |
エ | 初期状態aから「9.△」を処理する。 「9」は数字なので状態はa→bに遷移 「.」は小数点なので状態はb→dに遷移 「△」は空白なので状態はd→aに遷移 「9.△」は状態eにならなかったので合格 |
【キーワード】
・状態遷移表