Descrição

Blog desenvolvido durante a disciplina de Fundamentos de Engenharia de Computação na UFS, ministrada pelo professor Renê Pereira de Gusmão. É alimentado pelos alunos Denisson Silva, Gustavo Bezerra, João Marcos, Leonam Matheus e Yann Trabuco

quinta-feira, 6 de outubro de 2016

Lógica Booleana, Operadores Básicos e Tabela-Verdade

              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
                                             
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.


Resultado de imagem para George boole
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.

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.

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.


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.



      Resultado de imagem para o que é logica booleana

  • 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. 
Operadores lógicos nas linguagens de programação

               
          Cada linguagem de programação tem uma forma de representar os operadores lógicos. A simbologia mais encontrada são ANDOR 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.

Resultado de imagem para tabela verdade

       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