Skip to the content.

最終更新日:2026年7月28日

まず結論

状態遷移表は、現在の状態と入力の組合せから、次の状態を確認するための表です。

科目Aでは、次の順で追えば解けます。

現在状態を確認する
↓
入力との交点を見る
↓
次の状態へ更新する
↓
次の入力を処理する

一番大切なのは、状態が変わったら、次の入力は新しい状態から読むことです。

直感的な説明

状態遷移表は、機械やシステムの「動作ルール表」と考えると分かりやすいです。

たとえば、自動販売機を考えます。

  • 待機中に硬貨が入る
  • 商品選択待ちへ移る
  • 商品ボタンが押される
  • 商品を出して待機中へ戻る

このように、システムは今いる状態と入力によって次の状態を変えます。

現在状態 + 入力 → 次状態

状態遷移表では、この関係を行と列の交点で表します。

定義・仕組み

状態遷移表には、主に次の3つがあります。

項目 意味
現在状態 今いる状態
入力 今回与えられる信号やイベント
次状態 入力後に移る状態

たとえば、次のような表があるとします。

入力\状態 S1 S2 S3
t1 S2   S1
t2   S3 S2

現在状態がS1で、入力がt1なら、交点はS2です。

S1 --t1--> S2

次の入力を処理するときは、S1ではなくS2から読みます。

空欄の扱い

問題文で「空欄は状態が変化しない」と指定されている場合、現在状態をそのまま維持します。

現在状態:S2
入力:t1
交点:空欄

→ S2のまま

空欄を「処理終了」や「未定義」と決めつけないようにします。空欄の意味は、必ず問題文の条件を確認します。

科目Aでどう出る?

状態遷移表の問題では、複数の入力を順番に与え、最後の状態を求める形式がよく出ます。

次の作業表を自分で書くと、途中の見落としを防げます。

手順 現在状態 入力 次状態
1 S1 t1 S2
2 S2 t2 S3
3 S3 t1 S1

解く手順は次のとおりです。

  1. 初期状態を書く
  2. 入力を1つだけ読む
  3. 表の交点を確認する
  4. 現在状態を次状態へ書き換える
  5. 次の入力へ進む

判断表

問題文の表現 見るポイント
現在の状態がS1 最初に見る列はS1
入力を順番に与える 1つずつ処理する
空欄は変化なし 現在状態を維持する
最後の状態を求める 全入力を処理した後の状態を見る
行が入力、列が状態 見出しを確認して交点を読む

どんな場面で使う?

状態遷移の考え方は、状態によって動作が変わるシステムで使われます。

たとえば、次のような場面です。

  • 自動販売機
  • エレベーター
  • 信号機
  • ログイン処理
  • 通信プロトコル
  • 組込み機器の制御
  • ゲームキャラクターの動作

同じ入力でも、現在状態が違えば次の動作が変わることがあります。

入力が同じ
≠
結果も同じ

現在状態と入力をセットで見ることが重要です。

よくある誤解・混同

最初の状態の列を最後まで見る

一度状態が変わった後も、最初の状態の列を見続ける誤りです。

S1 → S3

となった後は、次の入力をS3列で確認します。

状態が変わるたびに、見る列も変わります。

空欄なら入力を無視する

空欄が「状態変化なし」を表す場合でも、入力は1回分処理されています。

状態はそのまま
↓
次の入力へ進む

同じ入力をもう一度読むわけではありません。

行と列を逆に読む

表によって、行と列の配置は異なります。

  • 行が入力、列が状態
  • 行が状態、列が入力

どちらの場合もあります。最初に見出しを確認します。

状態遷移表と状態遷移図は別の仕組み

状態遷移表と状態遷移図は、表現方法が違うだけで、表している内容は同じです。

表現 特徴
状態遷移表 交点から次状態を探しやすい
状態遷移図 状態と移動の流れを直感的に見やすい

どちらも基本は次の関係です。

現在状態 + 入力 → 次状態

まとめ(試験直前用)

  • 状態遷移表は、現在状態と入力から次状態を決める表
  • 入力は必ず1つずつ順番に処理する
  • 遷移後は、新しい状態から次の入力を読む
  • 空欄の意味は問題文を確認し、「変化なし」なら現在状態を維持する
  • 行と列の見出しを先に確認する
  • 迷ったら、手順|現在状態|入力|次状態 の作業表を書く

© 2024-2026 stemtazoo. All rights reserved.