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.