平成23年度 特別 午前 問4
情報に関する理論
状態遷移表に関する問題
次の表は,文字列を検査するための状態遷移表である。検査では,初期状態を a とし,文字列の検査中に状態が e になれば不合格とする。
解答群で示される文字列のうち,不合格となるものはどれか。ここで,文字列は左端から検査し,解答群中の△は空白を表す。
〔状態遷移表〕(縦=現在の状態/横=入力された文字・セルの値=次の状態)
| 現在の状態 | 空白 | 数字 | 符号 | 小数点 | その他 |
|---|---|---|---|---|---|
| a | a | b | c | d | e |
| b | a | b | e | d | e |
| c | e | b | e | d | e |
| d | a | e | e | e | e |
- ア+0010
- イ−1
- ウ12.2
- エ9.△
答えと解説を見る
✓ これが正解ウ12.2
解説
小数点の次に数字が続くと不合格の状態へ移ります。
この状態遷移表は、いまの状態と次に読む文字の種類の組から、移った先の状態を与えます。文字は左端から一つずつ読み、途中で一度でも状態がeになれば不合格です。見るべきなのは、小数点を読んだ直後に入る行です。小数点を読むと状態はdになりますが、その行を横に見ていくと、空白のときだけ初期状態へ戻り、数字も符号もそれ以外もすべてeに落ちます。つまりこの表は、小数点の後ろに数字が並ぶ書き方を認めていません。判定の軸は、小数点を読んだ後に何が続くか、この一点です。四つの文字列を左端から順にたどり、eに落ちるものを探します。
ほかの選択肢はなぜ違うのか
- ア+0010:符号を読んで状態がcに移り、その後は数字が続くだけなのでbにとどまります。小数点をまったく読まないため、数字が拒まれる行に入ることがなく、最後まで不合格になりません。
- イ−1:符号の次に数字が一つ来るだけの短い並びで、状態はcを経てbで終わります。ここも小数点を読みませんので、数字を受け付けない行に入る場面がありません。
- エ9.△:数字の次に小数点を読むところまでは不合格になるものと同じ動きですが、その後に来るのが空白です。小数点の後の行では空白だけが受け入れられて初期状態へ戻るため、不合格になりません。
出典:平成23年度 特別 基本情報技術者試験 午前 問4(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)