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/