Autômato Finito
AutomatoFinito(estado, entrada, MatrizTransiçao, MatrizAçao) => execução do diagrama de estados
Matriz de transições
estados\entradas |
1 |
2 |
3 |
4 |
5 |
ligado | |||||
preparo |
espera | ligado | |||
espera |
|||||
ligado |
ligado | ||||
operação |
Matriz de ações
estados\entradas |
1 |
2 |
3 |
4 |
5 |
LigaAparelho | |||||
preparo |
espera | ligado | |||
espera |
|||||
ligado |
ligado | ||||
operação |
ExecutarAcao(acao) {
switch(acao) {
case 'LigaAparelho':
instruçaoA;
instruçaoF;
break;
case 'FazerAlgo':
instruçaoS;
instruçaoF;
instruçaoA;
instruçaoD;
break;
case 'OutraCoisa':
instruçaoX;
instruçaoY;
instruçaoZ;
break;
default:
executar ações se não foi alguma ação definida} }
Condições => entrada // pode ser tabela(s) de decisões
PegarEntrada
if (cond1) return 1;
if (cond2) return 2;
...
if (condn) return n;
return 99;
talvez ajude a pensar:
MatrizTransiçao + Tabela de decisões + Matriz de ações
estados |
entrada cond |
novo estado |
ações |
inicial |
- |
inicial | Mostrar mensagem -remover equipamentos proximidade |
preparo |
Chave ControleIntensidade |
||
0 0 | espera |
|
|
0 1 |
af\adfa |
sd\sds\af |
|
espera |
|||
ligado |
|||
operação |