In classe, ci viene chiesto di disegnare una macchina a stati finiti con le seguenti istruzioni:
Design a finite state machine to model a vending machine that accepts only quarters and gives a container of juice when 75 cents have been deposited, followed by a button being pushed. If a fourth quarter is deposited before the button has been pushed, this quarter is immediately returned. If the button is pushed before three quarters are deposited, nothing will happen. The machine is in state Si (i = 0; 1; 2; 3) when it has been given i quarters towards the next purchase. Inputs to the machine are Q (inserting a quarter) and B (pushing a button). After one request is processed, it is ready for another request.
Non sono del tutto sicuro di quello che sto facendo è anche remotamente corretto. Per esempio, non sono sicuro di come rappresentare le azioni di "ritorno" o "dispensare", in questo momento, sono rappresentati come stati, ma non so se questo sia legalmente corretto o meno. Inoltre, non so se il mio ritorno Q4 sia corretto. Non ci sono input sulle linee che collegano S4 a Return to S3, e speravo che ciò significherebbe che quelli avvengono automaticamente senza input, è corretto?
Migliorata: