Iniziamo definendo l'automa a stati finiti che descrive la funzionalita' di blocco e sblocco tastiera descritta.

L'insieme degli output sara' {B, S}, dove B rappresenta il segnale che provochera' il blocco della tastiera, mentre S rappresenta il segnale in presenza del quale la tastiera e' sbloccata.

L'insieme degli input sara' costituito dalle possibili situazioni in cui possono trovarsi i tasti "*" e "#":
(*,-) indica tasto * premuto e # non premuto
(-,#) indica tasto * non premuto e # premuto
(*,#) indica tasto * premuto e # premuto
(-,-) indica tasto * non premuto e # non premuto

L'insieme degli stati interni sara' {1, 2}, dove 1 e' lo stato in cui la tastiera e' bloccata e 2 quello in cui la tastiera e' sbloccata.
Il diagramma degli stati sara' il seguente
Pur se a prima vista tale diagramma degli stati puo' risultare descrivere correttamente il problema, ad un'analisi piu' attenta si puo' notare che potrebbero insorgere dei problemi in situazioni particolari:
infatti, si supponga di avere il telefonino con la tastiera bloccata. per sbloccarla, basta premere * e # contemporaneamente. Pero', se dopo aver premuto * e # non si rilasciano nello stesso momento entrambi i tasti, allora, pur se per brevi istanti (ma comunwue istanti di lunghezza rilevante se confrontati con la durata del ciclo di clock che sincronizza la nostra rete sequenziale) potremmo avere delle configurazioni di ingresso alla rete non desiderate, durante il passaggio da tasti entrambi premuti a tasti entrambi rilasciati.
Si potrebbero cio' avere le seguenti configurazioni di ingresso:
Notare che nel secondo caso, si arriverebbe a bloccare nuovamente, senza volerlo, la tastiera.

Cercate di modificare il diagramma degli stati in modo da risolvere il problema. Se proprio non ci riuscite, provate a vedere la seguente possibile soluzione.
~