令和3年度 春期 応用情報技術者試験 午前 問47

状態遷移表のとおりに動作し,運転状況に応じて装置の温度が上下するシステムがある。システムの状態が“レディ”のとき,①~⑥の順にイベントが発生すると,最後の状態はどれになるか。ここで,状態遷移表の空欄は状態が変化しないことを表す。

〔発生するイベント〕

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

〔状態遷移表〕
図の説明テキスト

〔状態遷移表〕
各セルには状態遷移時の動作と遷移先の状態番号(右下)が記載されている。

条件 \ 状態 初期・終了 レディ 1 高速運転 2 低速運転 3 一時停止 4
メッセージ1を受信する 運転開始 2 加速 2 運転再開 2
メッセージ2を受信する 減速 3 一時停止 4 初期化 1
装置の温度が50℃未満から50℃以上になる 減速 3 一時停止 4
装置の温度が40℃以上から40℃未満になる 加速 2 運転再開 3
解答・解説

正解: エ. 一時停止

システムの状態遷移表に基づき、初期状態の「レディ」(状態1)から発生するイベントを順番にたどります。
なお、問題文にある「状態遷移表の空欄は状態が変化しないことを表す」という条件に注意します。

  1. 初期状態: 「レディ」(状態1)
  2. イベント1: メッセージ1を受信する
    • 状態1の列と「メッセージ1を受信する」の行が交差するセルには「運転開始 2」とあります。
    • 遷移後の状態: 「高速運転」(状態2)
  3. イベント2: メッセージ1を受信する
    • 状態2の列と「メッセージ1を受信する」の行が交差するセルは空欄です。
    • 遷移後の状態: 「高速運転」(状態2) のまま変化しません。
  4. イベント3: 装置の温度が50℃以上になる
    • 状態2の列と「装置の温度が50℃未満から50℃以上になる」の行が交差するセルには「減速 3」とあります。
    • 遷移後の状態: 「低速運転」(状態3)
  5. イベント4: メッセージ2を受信する
    • 状態3の列と「メッセージ2を受信する」の行が交差するセルには「一時停止 4」とあります。
    • 遷移後の状態: 「一時停止」(状態4)
  6. イベント5: 装置の温度が40℃未満になる
    • 状態4の列と「装置の温度が40℃以上から40℃未満になる」の行が交差するセルには「運転再開 3」とあります。
    • 遷移後の状態: 「低速運転」(状態3)
  7. イベント6: メッセージ2を受信する
    • 状態3の列と「メッセージ2を受信する」の行が交差するセルには「一時停止 4」とあります。
    • 遷移後の状態: 「一時停止」(状態4)

すべてのイベントが発生したあとの最終的な状態は「一時停止」(状態4)となります。したがって、正解はエです。

各選択肢の解説

  • ア: 最終状態とは異なります。状態4でメッセージ2を受信した場合の「初期化 1」など、現在の状態を誤認して遷移先を間違えた場合の誤答です。
  • イ: 最終状態とは異なります。イベント1やイベント2が発生した直後の状態です。
  • ウ: 最終状態とは異なります。イベント3やイベント5が発生した直後の状態です。
  • エ: 正解です。

Spineチーム