IPA過去問ドリル

平成28年度 秋期 基本情報技術者試験 午前 問3

テクノロジ/アルゴリズム

300円の商品を販売する自動販売機の状態遷移図はどれか。ここで,入力と出力の関係を“入力/出力”で表し,入力の“a”は“100円硬貨”を,“b”は“100円硬貨以外”を示し,S0~S2は状態を表す。入力が“b”の場合はすぐにその硬貨を返却する。また,終了状態に遷移する際,出力の“1”は商品の販売を,“0”は何もしないことを示す。

平成28年度 秋期 基本情報技術者試験 午前 問3の図

出典:平成28年度 秋期 基本情報技術者試験 午前 問3

正解:ア

解説

300円の商品を100円硬貨だけで購入する自動販売機の動作を状態遷移図で表す問題です。硬貨が1枚投入されるたびにS0→S1→S2と状態が進み,3枚目(S2の状態でaを受け取ったとき)に商品を販売して出力を1にし,S0に戻る必要があります。また,100円硬貨以外(b)が投入された場合は,状態を変えずにその場で硬貨を返却(出力0)しなければなりません。

選択肢ごとの解説

  • 正しい。S0→S1→S2と100円硬貨の投入ごとに状態が進み,S2でaが入力されると出力1(販売)でS0に戻ります。bが入力されたときはどの状態でも自ループしてすぐに返却(出力0)しており,仕様どおりの動作です。
  • 誤り。S2に達する前のS1でaが入力されたときに出力1(販売)としており,2枚しか投入していないのに商品を販売してしまいます。
  • 誤り。S1からS2への遷移で出力1(販売)としており,2枚目の100円硬貨で商品を販売してしまいます。
  • 誤り。入力a(100円硬貨)で自ループし,入力b(100円硬貨以外)で状態が進む構成になっており,硬貨の種類と動作の対応が仕様と逆になっています。
基本情報技術者の過去問を演習モードで解く