解決済みの質問

過去問題の不明点

以下の問題が問題集にあったのですが、
解答はエなのですが、なぜエだけがエラーに
なるのかが分かりません。
ご存知の方がいらしたら、解説をお願い致します。


問題
次の表は、入力文字列を検査するための状態遷移表である。この検査では、文字を入力した後の状態がeになれば不合格とする。
初期状態をaとして、解答群で示される文字列をそれぞれ入力したときに、不合格となるものはどれか。ここで、解答群の△は空白を表す。

【表】
入力文字
  |空白|数字|符号|小数点|その他
現|a|a|b|c|d|e
______________
在|b|a|b|e|d|e
______________
の|c|e|b|e|d|e
______________
状|d|a|e|e|e|e
______________
態|

【解答群】
ア : 9.△
イ : +0010
ウ : -1
エ : 12.2

投稿日時 - 2003-01-29 12:06:19

連想キーワード:

QNo.458343

困ってます

質問者が選んだベストアンサー

初期状態がわからないのですが、aと仮定します。
例えばアの場合
aの状態で'9'が入力されると、一番上の段の数字入力なのでbになります。
次に'.'が入力されると、現在状態bなので2段目の小数点でdになります。
次に△が入力されると、現在状態dなので4段目の空白でaになります。
合格ですね。

エの場合
aの状態で'1'が入力されると、一番上の段の数字なのでbになります。
次に'2'が入力されると、現在状態bなので2段目の数字でbになります。
次に'.'が入力されると、現在状態bなので2段目の小数点でdになります。
次に'2'が入力されると、現在状態dなので4段目の数字でeになります。
不合格ですね。

状態遷移表はこのように、現在の状態と発生したイベントで、次の状態を指し示し、順に状態を変化させていき、プログラムの条件や処理内容を判定します。
こういった色々な組み合わせのあるロジックを書く場合に、文章で書くと漏れが出たり、ミスが発生しやすくなるのですが、マトリックス(表)にすることで、漏れをなくし、またテストも効率的に進めることが出来ます。
プログラムの世界では、実際によく使う手法です。

投稿日時 - 2003-01-29 12:25:54

お礼

書き込みありがとうございました。
参考になりました!
マトリックス、確かにドキュメント類には
必ず出てきますね。

投稿日時 - 2003-01-29 18:53:07

ANo.2

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(3件中 1~3件目)

ANo.4

すいません、間違えました。
一番左の列が現在の状態を示していたのですね。
失礼しました。

投稿日時 - 2003-01-29 12:39:18

お礼

書き込みありがとうございました。

投稿日時 - 2003-01-29 18:51:26

ANo.3

この表は1文字チェックするごとに処理状態がa~eのどれかの状態に遷移することを
表しています。

例えば一番上の行の読み方は、
現在の状態がaである時
空白を入力されたら → a
数字だったら    → b
符号だったら    → c
小数点だったら   → d
その他       → e (エラー)
の状態に遷移します。

この遷移表にエを入力した場合ですが、
(1)”1”をチェック
  状態: a → b
(2)”2”をチェック
  状態: b → b
(3)”.”をチェック
  状態: b → d
(4)”2”をチェック
  状態: d → e
となり、エラーになります。
 

投稿日時 - 2003-01-29 12:27:15

お礼

書き込みありがとうございました。
参考になりました!

投稿日時 - 2003-01-29 18:51:52

ANo.1

数字が3つ在るからではないでしょうか。
数字の欄の3つめがeです。
4つめはeなので選択肢イは合格です。

投稿日時 - 2003-01-29 12:10:55

あわせてチェックしたい
  • 基本情報の過去問 [状態遷移表] について ...
  • 固定小数点、符号ビットを用いた方法 ...
  • 基本情報技術者 平成18春期 午前問9 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら