1

私は、下記のコインチェンジマシンのFSAの動作を記述するためのテーブルを作成しようとしています。コインチェンジマシンの有限状態オートマトン

50cコインを受け入れるスロットと2つのボタンがあり、ユーザーは20cまたは10cコインを交換するために押すことができます。 50c硬貨が挿入されるとすぐに、別の硬貨の追加を防ぐために機械がロックされます。ユーザが20cボタンを押すと、残りの値が十分であることをマシンがチェックし、20cコインをユーザに与える。残りの値が十分でない場合、マシンは(単純化のために)「死ぬ」。 10cボタンも同様に機能します。

マシンのイベントは、insert50c、give20c、give10cです。

私の理解から、このFSAには6つの州があり、0,10,20,30,40,50と言うことができます。状態は返される金額の残額で表されます。私は大まかな状態図hereを描いていますが、私はどの遷移も見逃していますか?

答えて

0

あなたの状態はよく見えます。タスクでは、それは "ユーザーが20cまたは10cコインを取得するために押すことができる"と述べた。私はこのユーザーインタラクションを完全に欠いています。 10cの量があり、ユーザーが20cを押した場合はどうなりますか?

マシンが変更のためだけに50cを受け入れることが許可されていて、20cでない場合、それは問題ありません。すべてのコインの交換、貨幣交換機には解約ボタンがあります。これは何ですか?

関連する問題