Ficha Nº3
Exercício Nº2
2008.03.11

O programador da iluminação


Um programador para controlo dum sistema de iluminação de jardim, depois de ligado à corrente, pode ser de novo desligado, ou então aceita dois comandos: manual ou automatico.

Em modo manual pode ser colocado em on (as luzes ficam a partir daí e até novo comando ligadas), ou em off (as luzes são desligadas e assim permanecem).

Em modo automático requer, ainda, mais duas indicações, a hora (0 a 24) a que deve ser ligado e o número de horas que deve permanecer ligado; fica, então, em stand-by até que receba um sinal para acender as luzes, mantendo as luzes acesas até ter recebido um número de impulsos de relógio igual ao número de horas para que foi programado.

Considerando que o sistema a modelar pode ser encarado como uma máquina de Transição de Estados, desenhe o autómato determinista reactivo que modela o sistema e utilize a sua imaginação para o implementar em C com a ajuda do Lex.