Lógica para Computação
Formas Canônicas
Forma Canônica
É a representação de funções lógicas através de SOMA
DE PRODUTOS (SDP) ou através de PRODUTO DE SOMAS (PDS).
Em cada termo soma (ou em cada termo produto)
Forma Canônica
Soma de Produtos:
A expressão é uma soma (OR) de produtos (AND) de variáveis e
variáveis complementadas.
Produto de Somas:
A expressão é um produto (AND) de somas (OR) de variáveis e
Forma Canônica
Exemplos:
Não está na forma canônica
Está na forma canônica
Não está na forma canônica
Está na forma canônica
Está na forma canônica
BC A
F
B A F
BC C
B A
F ( )
C B A C AB ABC
F
) )(
)(
(A B C A B C A B C
Forma Canônica
Dada uma função booleana qualquer, descrita através
de sua respectiva TABELA VERDADE, é possível derivar uma equação booleana que a descreva.
Para isto, podemos descrever esta equação através de
Forma Canônica
Na soma padrão de produtos, cada termo
correspondente a um PRODUTO é denominado MINTERMO.
Da mesma forma, no produto padrão de somas, cada
Mintermos e Maxtermos
Cada mintermo ou maxtermo se associa a uma
possibilidade de entrada de uma função lógica.
Por exemplo: Seja
F
AB
A B F Mintermo Maxtermo
1 1 0 1 0 1 0 1 1 0 0 1
AB
B A
B A
B A
B A
B A
B A
Mintermos e Maxtermos
Numerando as entradas da tabela verdade é possível se
identificar os mintermos e maxtermos genericamente:
Mintermos:
0 equivale variável complementada
1 equivale variável
Maxtermos:
0 equivale variável
1 equivale variável complementada
Assim na entrada 0, que equivale a A=1 e B=1, temos:
Mintermo:
Maxtermo:
AB
Mintermos e Maxtermos
Exemplo: escrever a função na forma de
mintermos e maxtermos.
Para fazer isso, monte a tabela verdade da função. Para os mintermos, escreva o produto das variáveis,
complementando-as sempre que seu valor lógico seja 0 na linha correspondente.
Para os maxtermos, escreva a soma das variáveis,
complementando-as sempre que seu valor lógico seja 1 na linha correspondente.
BC A
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A B C
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 1
0 1 1 1
0 1 0 0 0 0 1 0 0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A BC
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
6
Para escrever a função na forma de mintermos, faça a
soma dos termos onde o valor da função é 1:
BC A C B A C B A C AB ABC
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0
0 0 1 0
0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A BC
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
6
Para escrever a função na forma de maxtermos, faça o
produto dos termos onde o valor da função é 0:
) )(
)(
(A B C A B C A B C
Mintermos e Maxtermos
Logo, a função pode ser escrita de duas
formas canônicas:
A forma canônica da soma de produtos é:
A forma canônica do produto das somas é:
BC A
F
BC A C
B A C
B A C
AB ABC
m C
B A
F( , , )
(0,1,2,3,4) ) )(
)( (
) 7 , 6 , 5 ( )
, ,
(A B C M A B C A B C A B C
Mintermos e Maxtermos
Exemplo: escrever a função na forma de
mintermos e maxtermos.
) (B C A
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A B C
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1
1 1 0 0 1 0 1 1
1 0 0 1
0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A BC
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
6
Para escrever a função na forma de mintermos, faça a
soma dos termos onde o valor da função é 1:
C B A C B A ABC
Mintermos e Maxtermos
A B C F Mintermo Maxtermo
1 1 1 1 1 1 0 0
1 0 1 1 1 0 0 1 0 1 1 0
0 1 0 0
0 0 1 0
0 0 0 0
ABC m 0 C AB m 1 C B A m 2 C B A m 3 BC A m 4 C B A m 5 C B A m 6 C B A m
7 M7 A BC
C B A
M
0
C B A
M
1
C B A
M
2
C B A
M
3
C B A
M
4
C B A
M
5
C B A
M
6
Para escrever a função na forma de maxtermos, faça o
produto dos termos onde o valor da função é 0:
) )(
)( )(
)(
(A B C A B C A B C A B C A B C
Mintermos e Maxtermos
Logo, a função pode ser escrita de duas
formas canônicas:
A forma canônica da soma de produtos é:
A forma canônica do produto das somas é:
Qualquer representação é válida para a função.
Geralmente escolhe-se a representação com o menor número de
termos (somas ou produtos) obtido. )
(B C A
F
C B A C B A ABC m C B A
F( , , )
(0,2,3) ) )( )( )( )( ( ) 7 , 6 , 45 , 1 ( ) , ,
(A B C M A B C A B C A B C A B C A B C
Mintermos e Maxtermos
Exercício: escrever as funções a seguir na forma
canônica:
Z Y X
F
a)
Z X
F
b)
C ABC
F
c)
C A AB
F
d)
XYZ Z
X Y
X Z
F
Minimização de funções lógicas
Inversamente à representação canônica de uma função,
podemos querer representar uma função onde são
conhecidos seus valores lógicos de uma forma mínima, reduzida.
Ou seja, queremos SIMPLIFICAR a representação de
uma função lógica.
Minimização de funções lógicas
Como funciona ?
Vamos representar a função lógica cuja tabela verdade é
a seguinte:
A B F
Minimização de funções lógicas
Utilizando o Mapa de Karnaugh:
A
Minimização de funções lógicas
Vamos selecionar todas as adjacências encontradas no
mapa, verticalmente e horizontalmente:
A
Minimização de funções lógicas
A constante B constante
Logo, F = A + B
A
Minimização de funções lógicas
Outros exemplos:
x
y
0 1
0 0 1
1 0 1
x
y
0 1
0 1 1
1 0 0
• X constante
• Y varia
→ Elimina-se Y
• Y complementado constante
• X varia
→ Elimina-se X
X
Mapa de Karnaugh
Toda célula deve ser contada
Qualquer combinação deveria ser a maior possível.
Assim, uma célula não deveria ser considerada isolada se ela pode fazer parte de um grupo de duas ou mais células adjacentes.
Todas as células deveriam ser referenciadas em um
menor número de grupos possíveis.
As filas e colunas de uma Mapa de Karnaugh são
Minimização de funções lógicas
Procedimentos:
Identifique e marque todas as células individuais que não podem
ser combinadas com quaisquer outras células.
Identifique todas as células que podem ser combinadas com
apenas uma outra célula. Use esses pares para formar grupos duplos.
Identifique todas as células que podem ser combinadas em
grupos de 4 células, contanto que todas as células não estejam já cobertas por outros grupos (preferencialmente).
Repita o processo de combinação para grupos de 8 células,
contanto que todas as células do grupo não estejam já cobertas (preferencialmente).
Investigue qualquer célula ainda não contida em um grupo.
Arbitrariamente forme o maior grupo possível que pode ser
AB
C
00 01 11 10
0 1 0 0 1
1 0 0 1 1
Mapa de Karnaugh
Mapa de Karnaugh para 3 variáveis:
Elimina-se o A
Elimina-se o B
Células adjacentes nas extremidades da direita e
esquerda da fila
AC
C
B
Mapa de Karnaugh para 3 variáveis:
Elimina-se o A
Elimina-se o B
AB
C
00 01 11 10
0 0 1 1 0
1 1 1 0 0
Mapa de Karnaugh
C
A
C
B
Mapa de Karnaugh para 4 variáveis:
Encontrar o menor número possível de grandes subgrupos de
células adjacentes, que cobrem “1”s
AB
CD
00 01 11 10
00 1 0 0 1
01 0 1 0 0
11 1 1 1 1
10 1 1 1 1
Mapa de Karnaugh
D
B
BD
A
C
Mapa de Karnaugh para 4 variáveis:
Encontrar o menor número possível de grandes subgrupos de
células adjacentes, que cobrem “1”s
AB
CD
00 01 11 10
00 1 0 0 1
01 0 1 1 0
11 0 1 1 0
10 1 0 0 1
Mapa de Karnaugh
D
B
BD
Exercícios: Encontrar as funções de cada mapa:
AB
CD 00 01 11 10 00 0 1 1 0 a) 01 1 1 0 1 11 1 0 0 1 10 0 1 1 0
Mapa de Karnaugh
AB