Definição do usuario final
Logica Combinacional |
|||||
Entrada |
Saida |
||||
Interruptor |
Lampadas |
||||
5 |
6 |
1-AND |
2-OR |
3-NAND |
4-NOR |
S |
S |
S |
S |
N |
N |
S |
N |
N |
S |
S |
N |
N |
S |
N |
S |
S |
N |
N |
N |
N |
N |
S |
S |
--------------------------------Configurações dos conjuntos de elementos------------------------------------------------ var Chave = [], Dica = []; Dica.pagina ='lâmpadas: resultado da operação lógica dos estados dos interruptores'; Dica.lampada = 'lâmpadas indicam resultado da operação lógica'; Dica.ele1 = 'resultado da operação lógica AND (&&)'; Dica.ele2 = 'resultado da operação lógica OR (||)'; Dica.ele3 = 'resultado da operação lógica NAND'; Dica.ele4 = 'resultado da operação lógica NOR'; Dica.interruptor = 'clique para alterar estado dos interruptores'; var IconeLed = { true: ' ', false: ' ' }; var IconeInterruptor = { true: ' ', false: ' ' }; DesenharTela(); document.body.addEventListener('click', TratarClick ); document.body.addEventListener('mouseover', function (event) { var primeiro = event.target; while (!Dica[primeiro.id]) { primeiro = primeiro.parentElement; } var dica = Dica[primeiro.id] || Dica.pagina; document.getElementById(primeiro.id).setAttribute("title", dica); } ); function TratarClick(event) { var primeiro = event.target; while (!primeiro.id) { primeiro = primeiro.parentElement; } var id = primeiro.id; if (id == 'ele5'|| id == 'ele6') Chave[id] = !Chave[id]; DesenharTela(); } function VerChave(elemento) { return Chave[elemento] || false; } function DesenharTela() { var bool1 = VerChave('ele5'), bool2 = VerChave('ele6'); document.getElementById('ele1').innerHTML = IconeLed[bool1 && bool2]; document.getElementById('ele2').innerHTML = IconeLed[bool1 || bool2]; document.getElementById('ele3').innerHTML = IconeLed[!(bool1 && bool2)]; document.getElementById('ele4').innerHTML = IconeLed[!(bool1 || bool2)]; document.getElementById('ele5').innerHTML = IconeInterruptor[bool1]; document.getElementById('ele6').innerHTML = IconeInterruptor[bool2]; } ------------------------------ Arquivo de teste -------------------------------------------- http://jsfiddle.net/wr3nt1k7/5/