令和3年度 春期 午前 問47
開発技術
状態遷移表に関する問題
状態遷移表のとおりに動作し,運転状況に応じて装置の温度が上下するシステムがある。システムの状態が"レディ"のとき,① 〜 ⑥ の順にイベントが発生すると,最後の状態はどれになるか。ここで,状態遷移表の空欄は状態が変化しないことを表す。
〔状態遷移表〕
条件\状態 初期・終了/レディ 1 高速運転 2 低速運転 3 一時停止 4 メッセージ 1 を受信する 運転開始 →2 - 加速 →2 運転再開 →2 メッセージ 2 を受信する - 減速 →3 一時停止 →4 初期化 →1 装置の温度が 50℃未満から 50℃以上になる - 減速 →3 一時停止 →4 - 装置の温度が 40℃以上から 40℃未満になる - - 加速 →2 運転再開 →3 凡例: セルの中の "→" の右の数字は遷移先の状態番号。- は空欄=状態が変化しない。
〔発生するイベント〕
① メッセージ 1 を受信する。 ② メッセージ 1 を受信する。 ③ 装置の温度が 50℃以上になる。 ④ メッセージ 2 を受信する。 ⑤ 装置の温度が 40℃未満になる。 ⑥ メッセージ 2 を受信する。
- アレディ
- イ高速運転
- ウ低速運転
- エ一時停止
答えと解説を見る
✓ これが正解エ一時停止
解説
順にたどると最後は一時停止になります。
設問は、状態遷移表に従ってイベントを六つ順に与えたときの最後の状態を選ばせています。ですから解き方は一つで、いまの状態とイベントが交わるところを表から拾い、遷移先の状態に置き換える作業を六回繰り返すだけです。気を付ける点は、空欄が状態は変化しないことを表すという断りで、これは何も起こらないという意味であって、誤りが生じるという意味ではありません。レディから始めると、まず運転開始で高速運転へ移り、二度目のメッセージ1は高速運転の欄が空欄なのでそのまま、温度が50℃以上になって減速で低速運転へ、メッセージ2で一時停止へ、温度が40℃未満になって運転再開で低速運転へ戻り、最後のメッセージ2でもう一度一時停止に移ります。
ほかの選択肢はなぜ違うのか
- アレディ:最後の状態をレディとする答えです。初期の状態へ戻るのは一時停止でメッセージ2を受け取って初期化が働く場合だけで、与えられた六つの並びの中にその組合せは現れません。
- イ高速運転:最後の状態を高速運転とする答えです。この状態へ移るのは加速や運転再開が働いたときで、最後に与えられるのは低速運転でのメッセージ2なので、行き先が別になります。
- ウ低速運転:最後の状態を低速運転とする答えです。二度目のメッセージ1で何かが起こると読むと一手ずれてこの答えに行き着きますが、そのときの欄は空欄で、状態は動きません。
出典:令和3年度 春期 応用情報技術者試験 午前 問47
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)