基本情報技術者 2012年 春期 午前(科目A) 問05
問題文
図は70円切符の自動販売機に硬貨が投入されたときの状態遷移を表している。状態Q4から状態Eへ遷移する事象はどれか。ここで、状態Q0は硬貨が投入されていない状態であり、硬貨が1枚投入されるたびに状態は矢印の方向へ遷移するものとする。
なお、状態Eは投入された硬貨の合計が70円以上になった状態であり、自動販売機は切符を発行し、釣銭が必要な場合には釣銭を返す。また、自動販売機は10円硬貨、50円硬貨、100円硬貨だけを受け付けるようになっている。

選択肢
ア:10円硬貨が投入された。
イ:10円硬貨又は50円硬貨が投入された。
ウ:10円硬貨又は100円硬貨が投入された。
エ:50円硬貨又は100円硬貨が投入された。(正解)
🔒 解説は解答すると表示されます
自動販売機の状態遷移【午前解説】
正解の理由
状態Q4は横列でQ0(0円)→Q1(10円)→Q2(20円)→Q3(30円)→Q4(40円)と10円ずつ増えることを示します。状態Eは「投入合計が70円以上」の終端なので、Q4(40円)からEに到達するには投入硬貨の額が少なくとも円でなければなりません。受け付ける硬貨は10円・50円・100円の3種類のため、30円以上を満たすのは50円と100円のみです。従ってQ4→Eへ遷移させる事象は「50円硬貨又は100円硬貨が投入された」ことになります。
解法ステップ
- 横列の状態Q0→Q1→Q2…が何円ずつ増えるかを確認(図から各移動が10円単位であると判断)。
- Q4が示す累積金額を特定(Q4 = 40円)。
- 終端Eが「投入合計が70円以上」であることから、到達に必要な追加金額を計算:円。
- 受け付け硬貨の中で30円以上を満たすものを選ぶ(50円、100円)。
- 該当する選択肢を選ぶ(50円又は100円)。
選択肢別の誤答解説
- ア: 10円硬貨が投入された。→ 誤り。Q4で10円を入れても合計は50円で70円未満、Eへは遷移しません。
- イ: 10円硬貨又は50円硬貨が投入された。→ 誤り。50円はOKだが10円では不足です。
- ウ: 10円硬貨又は100円硬貨が投入された。→ 誤り。100円はOKだが10円は不足です。
- エ: 50円硬貨又は100円硬貨が投入された。 → 正解。50円も100円もQ4(40円)から合計を70円以上にし、Eへ遷移させます。
よくある誤解
- 「10円を入れるとQ4からEに行く」と考える誤り:10円投入では合計50円になり、まだ70円未満なのでEには行きません。
- 図の上方弧(Q0→Q5やQ0→Q6)を100円投入と混同する誤解:Q0から直接Eへ行く遷移が描かれていれば100円は即Eですが、図での弧は50円や別の遷移を示している場合があるため文脈で判定する必要があります。
- 太線や二重丸の意味を無視する誤り:太線は強調された遷移(即時終了を示す重要な遷移)なので見落とすと誤答につながります。
補足コラム
自動販売機の状態遷移図は有限オートマトンの直感的な応用例です。各状態を「現在の累積金額」、遷移を「各硬貨の投入」と見ると理解しやすくなります。一般解法は「現在状態の金額を読み取り、目標額との差を取り、それを満たす硬貨を列挙する」ことです。100円硬貨は大きく飛び越えるため、図中で直接Eへ矢印が描かれることが多く、釣銭処理の有無(図の説明に「釣銭が必要な場合には返す」とある)も考慮して問題を見るとよいでしょう。
FAQ
Q. なぜQ0からQ6への長い弧が描かれているのですか?
A. それは初期状態から特定の硬貨(例:50円など)を投入した際に直接飛ぶ遷移を示しており、全てを順に10円ずつ足す必要がないことを表現しています。文脈によりその弧が示す額を判断します。
A. それは初期状態から特定の硬貨(例:50円など)を投入した際に直接飛ぶ遷移を示しており、全てを順に10円ずつ足す必要がないことを表現しています。文脈によりその弧が示す額を判断します。
Q. 100円硬貨を入すれば常にEに行くのですか?
A. 100円はどの状態でもされるため通常は必ずを超えEへ遷移します。図に直接Eへの遷移矢印があればそれが示されています。
A. 100円はどの状態でもされるため通常は必ずを超えEへ遷移します。図に直接Eへの遷移矢印があればそれが示されています。
Q. 釣銭はこの遷移図にどう反映されていますか?
A. 釣銭の返却はE到達後の処理で、遷移図自体は「合計が70円以上になった」ことを示す終端Eに集約する設計です。
A. 釣銭の返却はE到達後の処理で、遷移図自体は「合計が70円以上になった」ことを示す終端Eに集約する設計です。
関連キーワード: 状態遷移、有限オートマトン、硬貨、70円切符、自動販売機、遷移図、合計金額判断、釣銭処理

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

