Home > Tecnologia > Informática > Arquitectura de Computadores > Álgebra de Boole e Funções Lógicas

Álgebra de Boole e Funções Lógicas

Parte II – Sistemas lógicos

Sistemas Lógicos - Álgebra de Boole

Álgebra de Boole e Funções Lógicas

Introdução

Vimos, no artigo anterior, as tabelas da verdade e as operações que podemos realizar. Agora, vamos espreitar o estudo da álgebra de Boole e funções lógicas pois, na realidade, o que encontramos no mundo dos circuitos digitais, são circuitos com várias entradas e com uma saída (ou mais), cujo valor irá depender dos valores de entrada.

Imagine-se um controlador do motor de um elevador. A saída do controlador, para colocar o motor em marcha para subir, deverá ficar activa (a 1) quando se verificarem as condições, ou estados:

  • Um botão de chamada para um dos pisos superiores foi actuado
  • O elevador estiver parado
  • A porta do elevador estiver fechada
  • Entre outros (estamos a simplificar)

Assim, e ainda de forma simplificada, se considerarmos uma função “F” para o nosso motor, e as entradas A, B e C, em que:

  • “A” indica se um botão de chamada foi actuado;
  • “B” indica se o elevador está em movimento e
  • “C” se a porta está aberta.

Podemos definir a função como:

f(a,b,c) = a  . b . c

Esta função é uma função lógica e poderá ser lida como “F” igual a “A” AND (NOT “B”) AND (NOT “C”), e como só temos operadores AND, facilmente concluimos que “F” é apenas verdade (F = 1) quando:

  • A = 1 (o botão de chamada está a ser actuado)
  • B = 0 (O elevador não está em movimento)
  • C = 0 (O elevador não tem a porta aberta)

A seguinte tabela mostra-nos os operadores que encontramos nestes funções e as respectivas funções lógicas.

A . B , A x B, ABA AND B
A + BA OR B
A ⊕ BA XOR B
ANOT A

Considere-se agora que temos uma função lógica definida por:

f(a,b,c) = a + (b ⊕ c)

Note que temos uma operação entre parêntesis, pelo que terá que ser executada primeiro. Determinemos os valores possíveis de “F” de acordo com a seguinte tabela:

ABCCB ⊕ CF = A + (B ⊕ C)
000111
001000
010100
011011
100111
101001
110101
111011

Repare que introduzimos todas as combinações possíveis das variáveis de entrada A, B e C, determinámos “NOT C”, em seguida vimos os resultados de BC ( B XOR (NOT C)) e, finalmente, fizemos o OR entra a entrada “A” e o resultado do XOR, obtendo todos os valores possíveis de F.

Note ainda que, estando nós a trabalhar com o mundo digital, ou seja, com números binários, o domínio de qualquer função booleana é sempre o conjunto {0.1} e o contra-domínio estará também contido neste conjunto.



Propriedades da álgebra de Boole

Vamos agora conhecer algumas propriedades da álgebra de Boole, onde iremos encontrar semelhanças com a nossa álgebra comum. Já agora, e como acontece com o produto e a divisão, a operação AND tem sempre prioridade em relação ao OR. Mas lembre-se que os símbolos + e . (ou x) não significam aqui uma soma ou uma multiplicação mas sim as operações lógicas OR e AND! Lembre-se ainda que estamos num domínio binário, de 0’s e 1’s.

Propriedades das operações AND e OR:
Associativa do ANDA . (B . C) = (A . B) . C
Associativa do ORA + (B + C) = (A + B) + C
Comutativa do ANDA . B = B . A
Comutativa do ORA + B = B + A
Distributiva do AND sobre o ORA . (B + C) = (A . B) + (A . C)
Distributiva do OR sobre o ANDA + (B . C) = (A + B) . (A + C)
Absorção no ANDA . (A + B) = A
Absorção no ORA + (A . B) = A
Elemento netutro no ANDA . 1 = A
Elemento neutro no ORA + 0 = A
Elemento absorvente no ANDA . 0 = 0
Elemento absorvente no ORA . 1 = 1
Elemento complementar no ANDA . A = 0
Elemento complementar no ORA + A = 1
Idempotência no ANDA x A = A
Idempotência no ORA + A = A
Dupla negaçãoA = A

Podemos encontrar algumas propriedades estranhas, como a distributiva da operação OR (+) com o AND (.), pois na álgebra comum não existe nenhuma propriedade distributiva da soma em relação à multiplicação. Mas não estamos na nossa álgebra comum, estamos em álgebra de Boole e todas estas propriedades podem ser demonstradas.

Relativamente à operação XOR, temos algumas destas propriedades como válidas também, especialmente a comutativa e a associativa. Vamos ver algumas propriedades e transformações específicas desta operação:

  • A ⊕ A = 0 ; A ⊕ 0 = A
  • A ⊕ A = 1 ; A ⊕ 1 = A (lembre-se do exemplo com o XOR no artigo anterior)
  • A ⊕ B = (A . B) + (A . B)
  • A ⊕ B = (A . B) . (A + B)

Vamos demonstrar a penúltima transformação, recorrendo às tabelas da verdade:

ABA ⊕ BBA . BAA . BA . B + A . B
00010100
01100111
10111001
11000000

Tente demonstrar a última transformação.

Leis de De Morgan

As leis de De Morgan (ou apenas leis de Morgan) são muito conhecidas no mundo dos circuitos digitais. Com elas, facilmente podemos encontrar circuitos equivalentes e/ou simplificar funções lógicas.

Temos então, segundo De Morgan, as seguintes equivalências:

  • A . B = A + B
  • A + B = A . B

Vamos demonstrar a primeira lei de Morgan usando tabelas da verdade:

ABA . BA . BABA + B
0001111
0101101
1001011
1110000

Tente demonstrar a segunda lei de Morgan.



Próximo artigo

Referências:

Este artigo foi escrito com a antiga grafia.

About Carlos Santos

Frequência em mestrado de Engenharia Electrotécnica e de Computadores. Programador freelancer: Websites, Aplicações Web (JAVA e PHP), J2SE/J2EE, C/C++ e Android. Explicador e formador em informática, matemática e electrotecnia. Formação presencial ou remota através de Skype e Team Viewer. Interesses: Música, áudio, vídeo, ciência, astronomia e mitologia.

Leave a Reply

Your email address will not be published and it is optional.