Anda di halaman 1dari 15

Algoritmos e Linguagens de Programao

lgebra Booleana

Faculdade Pitgoras
Prof. Edwar Saliba Jnior
Abril de 2007

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Histrico

A lgebra booleana, tambm conhecida como lgebra de boole,


foi criada pelo matemtico ingls George Boole (1815-1864)

Boole construiu sua lgica a partir de smbolos, representando


as expresses por letras e ligando-as atravs de conectivos smbolos algbricos

A lgebra booleana trabalha com apenas duas grandezas: falso


ou verdadeiro

Atualmente, todos os sistemas digitais so baseados nela,


relacionando os nveis lgicos 0 (falso) e 1 (verdadeiro) com a
ausncia ou passagem de corrente eltrica.

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Regras e Definies

A lgebra Booleana trabalha apenas com duas grandezas: Falso e


Verdadeiro. Assim sendo, podemos definir:
Varivel Boolena, Lgica ou Binria como a varivel que apenas pode assumir
dois valores: sim ou no, verdade ou falso, 1 ou 0
Proposio, como sendo todo o enunciado do qual se pode afirmar que
verdadeiro ou falso (ou sim ou no!). Vejamos:
"Amanh vai chover?" : NO constitui uma proposio, pois, as respostas possveis
so: "Sim", "No", "Talvez...", "No sei...
Por outro lado, se eu perguntar: 1 + 1 so 2?: Esta uma proposio, pois, permite
apenas uma resposta: Ou sim ou no
A = "Lisboa a capital de Portugal"
B = "Blgica um pas da Amrica Latina
A e B neste contexto so variveis booleanas. Aqui, podemos associar a A o valor
lgico verdade e a B o valor lgico falso e, como tal, so proposies.

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Operaes Lgicas
A lgebra Booleana nos permite fazer
algumas operaes lgicas sobre as
grandezas Falso e Verdadeiro
Vejamos algumas destas operaes
atravs de um anncio de jornal feito pela
empresa XYZ, mostrado no prximo slide.
Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Operaes Lgicas

Precisa-se de secretria: Com no mnimo 1,65 m. de


altura e que seja fluente em Ingls ou Alemo. Salrio
R$5.200,00.
Para a vaga acima, apareceram as seguintes
candidatas:
a) Uma mulher com 1,67 de altura mas que no tem fluncia em
nenhum idioma alm do portugus
b) Uma mulher com 1,66 de altura que fala ingls fluentemente
c) Uma mulher com 1,63 de altura com fluncia em ingls, francs
e alemo
d) Uma mulher com 1,70 de altura com fluncia em francs
e) Uma mulher com 1,65 de altura com fluncia em alemo

Pergunta-se: Quais das candidatas acima esto aptas a


disputar a vaga?.

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Principais Operadores Lgicos


Operador

OU

NO

Representado por

ou '

ou ~

OR

AND

NOT

Exemplos

||

A+B
AvB
A ou B
A or B
A || B

&&

A.B
A^B
AeB
A and B
A && B

A
A
~A
no A
not A
!A

_
A

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Prioridade dos Operadores


Operador

Prioridade

No

OU

Unidade 02 - 001 lgebra Booleana

Maior

Menor

Algoritmos e Linguagens de Programao

Exemplos de Operaes Booleanas

Vamos assumir os seguintes valores para as seguintes


proposies:
A = Falso
B = Verdadeiro

Operaes:
A + B = Verdadeiro
A . B = Falso
~A = Verdadeiro
~B = Falso

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Mais Exemplos de Operaes Booleanas

Vamos assumir os seguintes valores para as seguintes


proposies:
A=1
B=3
C=5

Operaes:
A > B = Falso
A < C = Verdadeiro
(A < B) . (8 < C) = Falso
~(B > 5) = Verdadeiro

Unidade 02 - 001 lgebra Booleana

Algoritmos e Linguagens de Programao

Tabela Verdade
OU (OR):

Unidade 02 - 001 lgebra Booleana

A+B

10

Algoritmos e Linguagens de Programao

Tabela Verdade
E (AND):

Unidade 02 - 001 lgebra Booleana

A.B

11

Algoritmos e Linguagens de Programao

Tabela Verdade
Negao:

Unidade 02 - 001 lgebra Booleana

12

Algoritmos e Linguagens de Programao

Vamos a um pequeno teste!


Tomando o exemplo citado anteriormente, onde:
A = "Lisboa a capital de Portugal"
B = "Blgica um pas da Amrica Latina

Podemos efetuar as seguinte operaes:


A+B=
A.B=
~A =
~B =
~(A + B) =
~(A . B) =
A . ~B =
~A + B =
Unidade 02 - 001 lgebra Booleana

Verdadeiro
Falso
Falso
Verdadeiro
Falso
Verdadeiro
Verdadeiro
Falso.
13

Algoritmos e Linguagens de Programao

Exerccios

Dadas as seguintes proposies:


A = 7, B = 19, C = 11 e D = 2

Determine o resultado de:


1) A < B
2) ~(C < B)
3) (A > D) + (C > D)
4) (C < B) + ~(A < A)
5) ~((D < B) . (C < B))
6) (B > C) + (A > D)
7) (C < D) + ((D < A) . ((A < D) + (B > D)))
8) ~(D > C) + ~(A > B)
9) ~(((A < D) + (A = B)) . (A < 3))
10)(9 > C) + (C < C) . ~(D > 2)
11)(B > 5) . (C = A)
12)~(A = 7) + (D > B) + (C < 11)

Unidade 02 - 001 lgebra Booleana

14

Algoritmos e Linguagens de Programao

Bibliografia
ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V.
Fundamentos da Programao de
Computadores. 2a. ed., So Paulo: PearsonPrentice Hall, 2007.

Unidade 02 - 001 lgebra Booleana

15