応用情報技術者試験 令和3年春 午前問47 解説付き過去問
問題
状態遷移表のとおりに動作し、運転状況に応じて装置の温度が上下するシステムがある。
システムの状態が"レディ"のとき、①~⑥の順にイベントが発生すると、最後の状態はどれになるか。
ここで、状態遷移表の空欄は状態が変化しないことを表す。

[発生するイベント]
① メッセージ1を受信する。
② メッセージ1を受信する。
③ 装置の温度が50℃以上になる。
④ メッセージ2を受信する。
⑤ 装置の温度が40℃未満になる。
⑥ メッセージ2を受信する。

[発生するイベント]
① メッセージ1を受信する。
② メッセージ1を受信する。
③ 装置の温度が50℃以上になる。
④ メッセージ2を受信する。
⑤ 装置の温度が40℃未満になる。
⑥ メッセージ2を受信する。
正解
解説
この問題では、システムの状態遷移表を用いて、特定のイベントシーケンスが発生した際のシステムの最終状態を特定することが求められています。状態遷移表は、システムがどのように異なる状態間を移動するかを示すため、正確な理解が必要です。
- 状態遷移の理解
システムが「レディ」状態から始まります。「レディ」状態でメッセージ1を受信すると、状態遷移表によるとシステムは「高速運転」状態に遷移します。これがイベント①と②で発生します。 - 温度変化による遷移
「高速運転」状態で装置の温度が50℃以上になると、状態遷移表では状態が変化しないため、システムは「高速運転」状態を維持します。これがイベント③です。 - 更なるメッセージ受信
イベント④の際、メッセージ2を受信すると、「高速運転」から「一時停止」状態に遷移します。次に、イベント⑤で装置の温度が40℃未満になると、一時停止状態から「低速運転」状態に変わります。最後にイベント⑥で再度メッセージ2を受信すると、「低速運転」状態から「一時停止」状態に戻ります。
したがって、システムの最終状態は「一時停止」になります。状態遷移の各ステップを正確に追うことで、この問題の正解に達することができます。