// script automa distributore caffe-cappuccino
autore { "pallino - caio" }
mealy {
input {soldi { 100, 200, 500, Caffe, Cappuccino }
} immediato
stati { s0, // Credito 0
s1, // Credito 100
s2, // Credito 200
s3, // Credito 300
s4, // Credito 400
s5, // Credito 500
s6, // Credito 600
s7, // Credito 700
s8, // Credito 800
s9, // Credito 900
s10 }// Credito 1000
output {dispay {
{u1 , "mancano soldi" }
{u2 , "scelta : caffe" }
{u3 , "scelta : caffe o cappuccino" }
{u4 , "non accetta altri soldi : effetuare la scelta" }
}
sportello {
{u5 , "ritira il caffe" }
{u6 , "ritira il cappuccino" }
{u8 , ""}
}
resto {
{u7 , "restituisce la moneta immessa"}
{u9 , ""}
}
}
transizione {
//Ingresso 100 200 500 Caf Cap
/* S0 */ {s1, s2, s5, s0, s0}
/* S1 */ {s2, s3, s6, s1, s1}
/* S2 */ {s3, s4, s7, s2, s2}
/* S3 */ {s4, s5, s8, s3, s3}
/* S4 */ {s5, s6, s9, s0, s4}
/* S5 */ {s6, s7, s10,s1, s5}
/* S6 */ {s6, s6, s6, s2, s0}
/* S7 */ {s7, s7, s7, s3, s1}
/* S8 */ {s8, s8, s8, s4, s2}
/* S9 */ {s9, s9, s9, s5, s3}
/* S10 */ {s10,s10,s10,s6, s4}
}
uscite {
// Ingresso 100 200 500 Caffe Cappuccino
// Usicita di sp re di sp re di sp re di sp re di sp re
/* S0 */ {{u1,u8,u9},{u1,u8,u9},{u2,u8,u9},{u1,u8,u9},{u1,u8,u9}},
/* S1 */ {{u1,u8,u9},{u1,u8,u9},{u3,u8,u9},{u1,u8,u9},{u1,u8,u9}},
/* S2 */ {{u1,u8,u9},{u2,u8,u9},{u3,u8,u9},{u1,u8,u9},{u1,u8,u9}},
/* S3 */ {{u2,u8,u9},{u2,u8,u9},{u3,u8,u9},{u1,u8,u9},{u1,u8,u9}},
/* S4 */ {{u2,u8,u9},{u2,u8,u9},{u3,u8,u9},{u1,u5,u9},{u1,u8,u9}},
/* S5 */ {{u3,u8,u9},{u2,u8,u9},{u3,u8,u9},{u1,u5,u9},{u1,u8,u9}},
/* S6 */ {{u4,u8,u7},{u4,u8,u7},{u4,u8,u7},{u1,u5,u9},{u1,u6,u9}},
/* S7 */ {{u4,u8,u7},{u4,u8,u7},{u4,u8,u7},{u1,u5,u9},{u1,u6,u9}},
/* S8 */ {{u4,u8,u7},{u4,u8,u7},{u4,u8,u7},{u2,u5,u9},{u1,u6,u9}},
/* S9 */ {{u4,u8,u7},{u4,u8,u7},{u4,u8,u7},{u2,u5,u9},{u1,u6,u9}},
/* S10 */ {{u4,u8,u7},{u4,u8,u7},{u4,u8,u7},{u2,u5,u9},{u2,u6,u9}},
}
}
|