Saindo
um pouco do nosso foco, as single boards computers, vamos falar
um pouco sobre lógica booleana, operadores básicos e tabela-verdade. Como eu
disse, estamos nos afastando só um pouquinho do nosso foco, pois os estudos de
Boole são fundamentais para que os microcontroladores e microprocessadores
"decidam" o que fazer diante de determinadas demandas.
Lógica booleana
Lógica booleana
Nós, humanos, utilizamos o sistema
decimal, que possui dez dígitos (0 ao 9). Por que escolhemos esse sistema
numérico? Simples, quantos dedos temos somando ambas as mãos? Dez!
Coincidência? Não, conveniência! Cada um usa o sistema numérico que mais lhe
convêm.
George Boole foi um filósofo britânico, criador da álgebra booliana, fundamental para o desenvolvimento da computação moderna.
Mas, você nunca viu um
processador com dez dedos, viu?! Os computadores de uma forma geral, e qualquer
outra máquina controlada por um processador, trabalham com sistema binário,
composto apenas pelos números um e zero. E foram estes dois números que deram
origem à lógica booleana.
Na lógica Booleana, o zero representa falso,
enquanto o um representa verdadeiro. Para trabalhar com esses valores e
torná-los algo lógico, que possa ser aplicado, são necessárias as
chamados operadores lógicos.
Como vimos em um dos nossos
primeiros posts, o sistema de numeração binária é composto apenas por uns e
zeros. Os computadores, na verdade, trabalham apenas com esse sistema de
numeração.
Se você pudesse abrir um
processador e ver como ele trabalha, seriam zeros e uns para todos os lado, uma
verdadeira "Matrix" binária. Assim como bem e mal, claro e
escuro, fácil e difícil, certo e errado são opostos, com 0 e 1 não seria
diferente.
Operadores lógicos
As operações lógicas são
ensinadas em vários cursos de tecnologia de diferentes formas, por exemplo, em
cursos de eletrônica é ensinado portas lógicas, já em programação aprendemos os
operadores lógicos. Mas no fundo é a mesma coisa e se você entender a ideia das
operações lógicas você pode usar esse conhecimento em qualquer área da
tecnologia.
As operações lógicas
trabalham sobre valores booleanos, tanto os valores de entrada como o de saída
são desse tipo. Os operadores lógicos são: E, OU, NÃO, NÃO-E, NÃO-OU,
OU-EXCLUSIVO E NÃO-OU-EXCLUSIVO. Abaixo uma explicação de cada um.
- O Operador “E” ou “AND” resulta em um valor VERDADEIRO se os dois valores de entrada da operação forem VERDADEIROs, caso contrário o resultado é FALSO.
- O Operador “OU” ou “OR” resulta em um valor VERDADEIRO se ao menos UM dos dois valores de entrada da operação for VERDADEIRO, caso contrário o resultado é FALSO.
- O Operador “NÃO” ou “NOT” é o único operador que recebe como entrada apenas um valor, e sua função é simplesmente inverter os valores. Ou seja, se o valor de entrada for VERDADEIRO, o resultado será FALSO e se o valor de entrada for FALSO, o resultado será VERDADEIRO.
- O Operador “NÃO-E” ou “NAND” é o contrário do operador E (AND), ou seja, resulta em VERDADEIRO, se ao menos um dos dois valores for FALSO, na verdade este é o operador E (AND) seguido do operador NÃO (NOT).
- O Operador “NÃO-OU” ou “NOR” é o contrário do operador OU (OR), ou seja, resulta em VERDADEIRO, se os dois valores forem FALSO, na verdade este é o operador OU (OR) seguido do operador NÃO (NOT).
- O Operador “OU-EXCLUSIVO” ou “XOR” é uma variação interessante do operador OU (OR), ele resulta em VERDADEIRO se apenas um dos valores de entrada for VERDADEIRO, ou seja, apenas se os valores de entrada forem DIFERENTES.
- O Operador “NÃO-OU-EXCLUSIVO” ou “XNOR” é o contrário do operador OU-EXCLUSIVO (XOR), ou seja, resulta VERDADEIRO se os valores de entrada forem IGUAIS.
Cada
linguagem de programação tem uma forma de representar os operadores lógicos. A
simbologia mais encontrada são AND, OR e NOT em
linguagens como Pascal, Visual Basic e SQL, e &&, || e ! em linguagens como: Java, C/C++ e C#.
Algumas
linguagens oferecem operadores lógicos para o nível de bit (também chamado de
operadores bitwise). Ou seja, podemos fazer operações lógicas com os bits de
dois números. Em java, por exemplo esses operadores são & e |.
Tabela-Verdade
A
tabela-verdade é usada para determinar o valor lógico de uma proposição
composta, sendo os valores das proposições simples já são conhecidos, pois o
valor lógico da proposição composta depende do valor lógico da proposição simples.
Conhecer a lógica booleana, os
operadores lógicos e a tabela-verdade é muito importante para qualquer área
da tecnologia que
você for trabalhar. Em programação por exemplo, utilizamos essas ferramentas
praticamente o tempo todo, principalmente para controle de fluxo de execução e
tomadas de decisão. Então, estude e revise com frequência esses tópicos.
Referências:
www.techmundo.com.br
www.dicasdeprogramacao.com.br
www.wikipedia.com
www.ufes.br
Nenhum comentário:
Postar um comentário