Unidade 1 – Álgebra Booleana WEBAULA 1 1.0 INTRODUÇÃO No final do século XVIII e início do século XIX, a álgebra booleana consolidou-se como uma forma matemática simples e eficaz, que era baseada apenas em dois valores, o Zero !" e o #m $", c%amada de &n'meros binários() *sta ideia de valores foi logo associada +s propriedades elétricas de presena ou ausncia de eletricidade, dando início aos circuitos digitais) Álgebra Booleana .o assumir apenas dois valores possíveis para o seu conte'do unitário, a álgebra booleana permitiu uma série de associa/es para a sua compreens0o) &zero( e &um(, &verdadeiro( e &falso(, &ausncia( e &presena(, &!( e &$(, &sim( e &n0o(, &ligado( e &desligado(, &com( e &sem(, s0o alguns dos e1emplos) e 1emplos) Exre!!"e! Booleana! .s opera/es básicas da álgebra booleana fogem do conceito de soma, subtra0o, divis0o e multiplica0o) 2omeamos com trs operadores booleanos básicos3 .N4, 56 e N57) 8ara demonstrarmos o resultado das e1press/es booleanas, utilizamos uma tabela, que é con%ecida como &7abela-V &7abela-Verdade() erdade() Oerador L#gi$o AND 5 operador l9gico .N4 pode ser representado por um ponto ou por nen%um símbolo também) . e1press0o fica assim3 X: ou X): . leitura fica como &X e :() :()
5bservando a 7abela-Verdade abela-Verdade da opera0o X):, podemos verificar que somente quando os dois valores tm o conte'do &$( é que o resultado também será &$() Nas demais combina/es o resultado sempre será &!()
Oerador L#gi$o OR 5 operador l9gico 56 pode ser representado por um sinal de ;) . e1press0o fica assim3 X;: . leitura fica como &X( ou &:()
5bservando a 7abela-Verdade da opera0o X;:, podemos verificar que quando um dos dois valores tem o conte'do &$(, o resultado é &$()
Oerador L#gi$o NOT 5 operador l9gico N57 pode ser representado por um trao superior =X ou ap9strofe >X) . e1press0o fica assim3 =X . leitura fica como N57 X)
Oera%"e! L#gi$o! $o& &ai! de ' arg(&en)o! X):)Z ? leitura &X e : e Z()
5bservando a 7abela-Verdade de uma opera0o com trs argumentos X, : e Z" onde a opera0o é &.N4(, o resultado s9 será &$( quando todos os argumentos tiverem o conte'do &$(, ou se@a, das A combina/es possíveis, somente uma delas é que apresenta o resultado &$( e sete apresentam o resultado &!()
Oera%"e! L#gi$o! $o& &ai! de ' arg(&en)o! X;:;Z ? leitura &X ou : ou Z()
5bservando a 7abela-Verdade de uma opera0o com trs argumentos X, : e Z" onde a opera0o é &56(, o resultado será &$( em qualquer situa0o onde pelo menos um dos argumentos ten%a o conte'do &$( sete combina/es diferentes", e o resultado será &!( somente quando todos os argumentos ten%am o conte'do &!()
Orde& de re$ed*n$ia Ve@a que nos dois cenários apresentados com trs argumentos foram utilizados os mesmos operadores l9gicos &.N4( ou &56() 2aso %ouvesse uma mistura destas opera/es, por e1emplo &X):;Z( ou &X;:)Z(, os resultados n0o s0o os mesmos, uma vez que devem obedecer a uma ordem de precedncia) . ordem de precedncia natural é primeiro o operador N57, depois o operador .N4 e por fim o operador 56) Ve@amos como ficaria a e1press0o &N57 X ) : ; Z()
Bembrando que a precedncia pode ser determinada pelo parnteses && e &"( também)
Unidade ' – Álgebra Booleana WEBAULA 1 Oera%"e! $o&le&en)are! .lém das opera/es básicas N57, .N4 e 56, podemos utilizar mais trs opera/es complementares3 X56, N.N4 e N56) Oerador L#gi$o +OR 5 operador l9gico X56, também con%ecido como 5# *1clusivo) . e1press0o fica assim3 X X56 :) . leitura fica como &X ou e1clusivo :()
5bservando a 7abela-Verdade da opera0o X X56 :, podemos verificar que somente quando os dois valores tm o mesmo conte'do &!( ou &$( é que o resultado será &!( e quando os dois argumentos possuem valores diferentes, o resultado será &$()
Oerador L#gi$o NAND 5 operador l9gico N.N4 é complementar ao operador .N4, uma vez que representa a nega0o do operador .N4) . e1press0o fica assim3 X N.N4 : . leitura fica como &X( n0o e &:()
5bservando a 7abela-Verdade da opera0o X N.N4 :, podemos verificar que quando os dois argumentos tm o conte'do &$(, o resultado é &!() Nos demais casos, o resultado será sempre &$() Neste momento devemos refletir3 8or que eu preciso de um operador N.N4C N0o seria mais fácil realizar a opera0o .N4 e depois negar o resultadoC 6esposta3 ao realizarmos uma opera0o N.N4 ou N56, gastamos apenas $ ciclo de processamento, quando realizamos a opera0o .N4D56 e depois negamos o
resultado, s0o utilizados E ciclos de processamento, ou se@a, o dobro do tempo e o dobro de processador) Oerador L#gi$o NOR 5 operador l9gico N56 é complementar ao operador 56, uma vez que representa a nega0o do operador 56) . e1press0o fica assim3 X N56 : . leitura fica como &X( n0o ou &:()
5bservando a 7abela-Verdade da opera0o X N56 :, podemos verificar que somente quando os dois argumentos tm o conte'do &!( é que o resultado será &$(, nos demais casos, o resultado será sempre &!()
Ob!er,a%"e! 8osso negar uma opera0o N.N4 ou N56C 6esposta3 sim, posso negar uma opera0o N.N4 ou N56, porém n0o faz sentido) .gora, se a nega0o estiver acompan%ada de alguma outra opera0o, aí sim pode ser significativo) *1emplos3 X .N4 : F N57 X N.N4 : " F N57 N57 X .N4 : " " $ opera0o ? E opera/es G opera/es 7odos apresentam o mesmo resultado final, s9 variando na quantidade de ciclos de processamento que s0o utilizados) -o&o ()ilia&o! e!)a! oera%"e! l#gi$a! . 7abela-Verdade nos permite visualizar todas as combina/es possíveis dos valores de cada argumento e o resultado final da opera0o) .s opera/es s0o descritas e os valores atribuídos, ent0o é calculado o resultado final da opera0o) 4ados os argumentos ., H, 2, 4, *, , J) *1press0o3 . ) H ; N57 2 " ) 4 "" X56 * N.N4 " N56 J" F C 2omo resolvemosC 8recisamos tratar as precedncias e1plícitas primeiro && e &"()
8asso $ H ; N57 2 " F resposta 6$ 8asso E * N.N4 " F resposta 6E 8asso G 6$ ) 4 " F resposta 6G 8asso K 6E N56 J " F resposta 6K 8asso L . ) 6G " F resposta 6L 8asso M 6L X56 6K " F resposta final 4ados os valores de ., H e 4 iguais a $ e 2, *, e J iguais a !, qual é o resultado final da e1press0oC Vamos montar uma 7abela-Verdade para ver o resultado final) . ) H ; N57 2 " ) 4 "" X56 * N.N4 " N56 J"
8asso $ H ; N57 2 " F $ ; N57 ! " F 6$ F $ 8asso E * N.N4 " F ! N.N4 ! " F 6E F $ 8asso G 6$ ) 4 " F $ ) $ " F 6G F $ 8asso K 6E N56 J " F $ N56 ! " F 6K F ! 8asso L . ) 6G " F $ ) $ " F 6L F $ 8asso M 6L X56 6K " F $ X56 ! " F resposta final F $ e1tremamente importante perceber que, mudando o valor de qualquer argumento, o resultado final também será afetado, ou n0o) Oue tal e1ercitarmos algumas opera/esC .ssuma o valor de $ para os argumentos ., 2, 4 e J, e o valor ! para os argumentos H, * e ) $ " . ; 2 " N56 4 N.N4 " E " J ) . " ; * N56 H " " X56 2 ; 4 " G " X56 2 " X56 H N.N4 4 " K " 2 N56 4 " ) . ; H " ) * " L " N57 . ; * " ) 2 " X56 N57 H ) 4 " Bembrando que a precedncia pode ser determinada pelo parnteses && e &"( também) 6espostas $"!
E"! G"! K"! L"$ 8esquisar na internet e1emplos de opera/es booleanas)