package Snack_Machine is type State is private; type Action is (Insert_10_Ct, Insert_20_Ct, Insert_50_Ct, Reset); type Reaction is (Nothing, Reset, Output_Snack); procedure Initialize(S: out State); procedure Do_Action(S: in out State; User_Action: in Action; R: out Reaction); private type State is new Float range 0.0..2.0; end Snack_Machine;