You are on page 1of 8

Prof. Francisco Gerson A.

de Meneses

Introduo a Cincia da Computao


Unidade IV Lgica, a Arte de Pensar
Prof. Francisco Gerson A. de Meneses

Contedo programtico
- Introduo - lgebra Booleana - Operador Lgico e (Conjuno) - Operador Lgico ou (Disjuno) - Operador Lgico no (Negao) - Projeto de Circuitos - Hardware - Portas Lgicas - Lgica de Programao - Software - Operadores Lgicos - Operadores Relacionais - Prioridades - Refinamento de Algoritmos

franciscogerson10@gmail.com

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Introduo
Sendo a lgica um estilo de raciocnio, possvel compar-la com uma arte, a arte de pensar, sem que para isso seja necessrio ser um filsofo. A lgica est muito relacionada com o pensamento e estamos interessados em como possvel fazer a mquina pensar. Como sabemos, essas mquinas, os computadores digitais binrios so projetados para armazenar e manipular informaes representadas apenas por dois algarismos ou dgitos distintos, 0 e 1. Obs: como na prtica no h mquinas digitais no-binrias, mais usual simplificar-se o termo computador digital binrio, usando apenas o termo computador digital.

Introduo
Em um sistema de computao, uma operao lgica obtida atravs da analogia que se faz do 0 e do 1 com: falso e verdadeiro ou fechado e aberto ou no e sim ou baixo e alto ou ainda desligado e ligado, etc. resolvendo problemas atravs de um conjunto de vrias pequenas operaes que juntas proporcionam uma soluo para uma determinada necessidade. A lgica de suma importncia para a cincia da computao tanto no aspecto de hardware atravs dos projetos de circuitos e suas portas lgicas, como no aspecto do software onde usada na codificao de programas. Tais fundamentos so baseados em estudos realizados pelo matemtico ingls George Boole.

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

lgebra Booleana
lgebra Booleana uma rea da matemtica que trata de regras e elementos de lgica. O nome booleana uma retribuio da comunidade cientfica ao matemtico ingls George Boole (1815 - 1864), que desenvolveu uma anlise matemtica sobre a Lgica e em 1854 publicou um livro no qual props os princpios bsicos dessa lgebra.

lgebra Booleana
Chamaremos qualquer afirmao verbal que possamos dizer se falsa ou verdadeira (nunca ambas) em proposio. Assim, choveu ontem tarde um proposio (pode ser falsa ou verdadeira). Porm algumas proposies so compostas de subproposies ligadas por conectivos, no nosso caso representado pelos operadores lgicos: e, ou e no. No caso dessas proposies, o operador lgico usado que definir o valor lgico (se verdadeiro ou falso). Vejamos cada um deles:

Tais princpios baseiam-se em um sistema de lgebra (lgebra das proposies) onde se pode determinar se uma sentena falsa ou verdadeira utilizando-se para isso as funes ou operadores lgicos: E, OU e NO (AND, OR, NOT). Assim:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

lgebra Booleana
Conjuno:
Duas proposies podem ser combinadas pelo conectivo e para formar uma proposio chamada conjuno das proposies originais. A conjuno das proposies A e B representaremos por: A B (leia-se por A e B). Esse operador pode ser representado por Sejam as proposies: AND (representado p: Paris est na Frana pelo ponto, . da q: Paris est na Inglaterra multiplicao r: 2+2=5 aritmtica). s: 2+2=4 Considerando que a conjuno exige que as duas subproposies sejam verdadeiras para o conjunto ser verdadeiro teremos:

lgebra Booleana
Conjuno:
p: Paris est na Frana q: Paris est na Inglaterra r: 2+2=5 s: 2+2=4 Qual o valor lgico das conjunes? p s = verdadeiro pr= qs= falso qr=
a V V F F

falso falso
b V F V F ab V F F F

Uma conjuno s ser verdadeira se todas as subproposies forem verdadeiras. Um meio conveniente de estabelecer esta concluso a utilizao de uma tabela verdade (exemplo a e b):

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

lgebra Booleana
Disjuno:
Duas proposies quaisquer podem ser combinadas com o conectivo ou (com sentido de e/ou) para formar uma nova proposio que chamada de disjuno das duas proposies originais. Designaremos a disjuno de duas proposies A e B por: A V B (leia-se por A ou B). Sejam as proposies: p: Paris est na Frana q: Paris est na Inglaterra r: 2+2=5 s: 2+2=4 Esse operador pode ser representado por OR (representado pelo sinal, + da adio aritmtica).

lgebra Booleana
Disjuno:
p: Paris est na Frana q: Paris est na Inglaterra r: 2+2=5 s: 2+2=4 Qual o valor lgico das disjunes? p V s = verdadeiro pVr= qVs= verdadeiro qVr=
a V V F F

verdadeiro falso
b V F V F aVb V V V F

Considerando que na disjuno podemos considerar verdadeira a proposio que contiver pelo menos uma subproposio verdadeira teremos:

Uma disjuno ser verdadeira se pelo menos uma das subproposies forem verdadeiras. Um meio conveniente de estabelecer esta concluso a utilizao de uma tabela verdade (exemplo a e b):

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

lgebra Booleana
Negao:
Dada um proposio A qualquer, uma outra proposio, chamada negao de A pode ser formada escrevendo-se: falso que... antes de A ou, se possvel, inserindo a palavra no em A. Simbolicamente designaremos a negao por: A (leia-se por no A). Esse operador pode ser representado por NOT (representado por uma barra em cima da varivel ou por apstrofo direita da varivel A').

lgebra Booleana
Negao:
p: Paris est na Frana Qual o valor lgico da negao? p = falso Utilizando a tabela verdade temos:
p V F p F V

Seja a proposio: p: Paris est na Frana

Conclumos que: se p verdadeiro ento p falsa; se p falso ento p verdadeiro:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

lgebra Booleana
Exerccio 1: Usando a conveno: 1 para verdadeiro e 0 para falso, complete as linhas da tabela abaixo com o valor verdade correspondente:

lgebra Booleana
Exerccio 2: Seja p= Ela alta e seja q= Ela elegante: Escreva cada uma das proposies abaixo na forma simblica usando p e q: a-) Ela alta e elegante pq b-) Ela alta mas no elegante pq c-) falso que ela baixa ou elegante ( p V q) d-) Ela no alta nem elegante (p q) e-) Ela alta, ou ela baixa e elegante p V (p q) f-) No verdade que ela baixa e no elegante (p q)

p 1 1 0 0

q 1 0 1 0

p( q)

(pq)

0 1 0 0

1 0 1 1

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Projeto de Circuitos - Hardware


A analogia existente entre a lgebra das proposies e as chaves eltricas ser vista a seguir: Considere os circuitos abaixo. Em cada caso, quando que a lmpada ficar acesa?

Projeto de Circuitos - Hardware


Seja A e B interruptores eltricos. No caso (a circuito em srie) a lmpada s ficar acesa no caso dos dois interruptores A e B estarem ligados.

No caso (b circuito em paralelo) a lmpada ficar acesa se pelo menos um dos interruptores A e B estiver ligado. a) Circuito em srie b) Circuito em paralelo

Observa-se que em cada circuito tem-se dois interruptores.

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Projeto de Circuitos - Hardware


Portanto: A B (conjuno) designa um circuito ligado em srie e A V B (disjuno) designa um circuito ligado em paralelo Sendo assim, um circuito eltrico significa, portanto, um arranjo de fios e interruptores que pode ser montado com o uso repetitivo de combinaes em srie e paralelo.

Projeto de Circuitos - Hardware


Exerccio 3: Descreva os circuitos abaixo usando expresses: a) A (B V A') C

b) A (C V B') V (B C')

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Projeto de Circuitos - Hardware


Exerccio 4: Construa um circuito correspondente s expresses: a) (A B) V (A' (B' V A V B))

Projeto de Circuitos - Hardware


Portas Lgicas:
Um porta lgica (gate) um circuito eletrnico, portanto uma pea de hardware, que se constitui no elemento bsico e mais elementar de um sistema de computao. Grande parte do hardware do sistema fabricado atravs da adequada combinao de milhes desses elementos, como a UCP, memrias principal e cache, interfaces de E/S e outros. H diversos tipos bem definidos de portas lgicas, cada uma delas capaz de implementar uma operao ou funo lgica especfica. Uma operao lgica realizada sobre um ou mais valores lgicos produz um certo resultado (valor lgico), conforme a regra definida para a especfica operao lgica. Assim como na lgebra comum, necessrio definir smbolos matemticos e grficos para representar as operaes lgicas (portas). Vejamos:

b)

(A V B) C (A' V B' V C ')

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Projeto de Circuitos - Hardware


Abaixo, a representao de um conjunto de portas bsicas, capazes de implementar as trs operaes E, OU e NO:

Projeto de Circuitos - Hardware


Exemplo: A funo A = T . (H + W) + W' . P est representada abaixo:

A porta E tem duas ou mais entradas e a sada assume o valor 1 se e somente se todas as entradas so 1; logo se as entradas so a e b a sada ser: a . b A porta OU tem duas ou mais entradas e a sada ser 1 se uma ou mais de uma entrada for igual a 1; logo as entradas so a ou b a sada ser: a + b A porta NO s tem uma entrada e sua sada 1 se a entrada 0 e ser 0 se a entrada 1; logo se a entrada : a a sada ser a'

Observe a equivalncia da representao dos conectivos: . E + ' V OU NO

A = T . (H + W) + W' . P

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Projeto de Circuitos - Hardware


Exerccio 5: Descreva os circuitos abaixo usando expresses:

Projeto de Circuitos - Hardware


Exerccio 6: Descreva os circuitos abaixo usando expresses:

x . y' + (x'+ z') . z

x . y' + x'. z

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
A lgica de programao propriamente dita dividi-se em quatro partes, a saber: Ao: um acontecimento que, a partir de um estado inicial, aps um determinado perodo, produz um resultado previsvel e bem definido, com o objetivo de obter a soluo de parte de um problema. Por exemplo, pode-se dizer que os passos constantes de uma receita de bolo so definidos como esto. Algoritmo: a descrio de um conjunto de aes que, obedecidas, resulta num programa. Um exemplo bastante comum de algoritmo a receita de um bolo, em que as aes necessrias para a execuo do objetivo final esto descritas passo a passo de forma objetiva.

Lgica de Programao
Diagrama de blocos: a representao grfica de um algoritmo. Tem como objetivo representar por meio de sinais padronizados o desenho de forma de raciocnio utilizada para a soluo do problema computacional por meio do algoritmo.

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Codificao: a traduo de um fluxograma ou de um algoritmo para uma determinada linguagem de programao. Assim como existe no mundo vrias lnguas para as pessoas se comunicarem, tambm ocorre com os computadores que passaram a conversar em diversas linguagens.

Lgica de Programao
Nos cdigos de um programa os operadores lgicos ou operadores booleanos so aplicados no tratamento e recuperao da informao, isso, independente do sistema ou linguagem utilizada. Esses operadores permitem a expresso de forma explcita e a relao dos termos entre si.

Trecho de cdigo em JAVA Corresponde ao operador lgico e

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Operadores L Lgicos Eles so tambm conhecidos como operadores booleanos. Os tipos de operadores lgicos mais utilizados so: .e.; .ou.; .no. e .xou. Quando representamos em portugus estruturado sempre estaro entre pontos. Assim temos:
Smbolos .e. .ou. .no. .xou. Funes exercidas Conjuno Disjuno (no exclusiva) Negao Disjuno (exclusiva)

Lgica de Programao
Operador L Lgico: .e. Utilizado quando dois ou mais relacionamentos lgicos de uma determinada condio necessitam ser verdadeiros.

Observe o diagrama de blocos, como a utilizao do operador lgico .e. apresentada:

Vejamos cada um deles:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Operador L Lgico: .ou. Utilizado quando pelo menos um dos relacionamentos lgicos (quando houver mais de um relacionamento) de uma condio necessitar ser verdadeiro.

Lgica de Programao
Operador L Lgico: .no. Utilizado quando necessrio estabelecer que uma determinada condio no deve ser verdadeira. Mesmo quando uma for verdadeira, ela ser entendida como falsa. Se a condio for falsa ser entendida como verdadeira. Observe o diagrama de blocos, como a utilizao do operador lgico .no. apresentada:

Observe o diagrama de blocos, como a utilizao do operador lgico .ou. apresentada:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Operador L Lgico: .xou. xou. utilizado quando apenas um dos relacionamentos de uma condio for verdadeiro, ou seja, a outra condio excluda. A tabela verdade que segue ilustra essa situao:
Condio 1 Falsa Verdadeira Falsa Verdadeira Condio 2 Falsa Falsa Verdadeira Verdadeira Resultudo Falso Verdadeiro Verdadeiro Falso

Lgica de Programao
Operador L Lgico: .xou. xou.

Observe o diagrama de blocos, como a utilizao do operador lgico .xou. apresentada:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Operador Relacionais: So utilizados para estabelecer relaes entre dois valores de mesmo tipo. Esses valores podem ser representados por variveis, constantes ou expresses aritmticas. A tabela que segue mostra os operadores relacionais:
Operadores relacionais = igual a > maior que < menor que <> diferente de >= maior ou igual a <= menor ou igual

Lgica de Programao
Operador Relacionais: Exemplos do uso de operadores relacionais em expresses lgicas: a-) 3 X 5 = 30 : 2, em que 15 = 15 verdadeiro b-) 20 : 5 < 9 : 3, em que 4 < 3 falso c-) 3 + (15:3) <= 23 + 8 em que 8 <= 16 verdadeiro

Observe os exemplos que seguem:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Operador Relacionais: Em processamento de dados, os sinais matemticos usados para realizar as quatro operaes so diferentes em alguns casos. Veja a tabela:
Operadores aritmticos Matemtica
Ne exponenciao X multiplicao : diviso + adio - subtrao

Lgica de Programao
Prioridades:
Os operadores aritmticos possuem uma hierarquia, isto , primeiramente resolve-se a exponenciao, depois a multiplicao/diviso, adio e subtrao, respectivamente, a no ser que se queira priorizar um dos operandos cuja hierarquia deve ser alterada, neste caso, colocam-se os parnteses, depois os colchetes e as chaves respectivamente. Exemplos: a) 5 + 3 * 7 = 26 b) (5 + 3) * 7 = 56

Expresses algbricas:

Processamento de dados
exponenciao (seta para cima) * multiplicao / diviso + adio - subtrao

Expresses lgicas:

Assim sendo, as expresses anteriormente mostradas passam a ter a seguinte configurao:


a-) 3 x 5 = 30 : 2 fica assim: 3 * 5 = 30 / 2 b-) 20 : 5 < 9 : 3 fica assim: 20 / 5 < 9 / 3 c-) 3 + (15 : 3) <= 23 + 8 fica assim: 3 + (15 / 3 ) <= 2 3 + 8

Os operadores lgicos tambm possuem uma hierarquia. Primeiro resolvem-se os operadores lgicos que se encontram esquerda e posteriormente os da direita, assim temos respectivamente: .no.; .e./.ou. e finalmente o .xou.

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Exerccio 7: Determine a resultado lgico das expresses que seguem, assinalando se verdadeiro ou falso, considerando que: X = 2 , A = 5 , B = 3 , C = 7 , D = 9.
a-) .no. (X>5) b-) (X<1) .e. .no. (B>D) c-) (A>B) .ou. (C>B) d-) (X>=3) e-) (A<B) .xou. (C>B) f-) (11>D) .xou. (3<A) ( X) verdadeiro ( ) verdadeiro (X) verdadeiro ( ) verdadeiro (X) verdadeiro ( ) verdadeiro ( ) falso ( X) falso ( ) falso (X) falso ( ) falso (X) falso

Lgica de Programao
Refinamento de Algoritmos: Um algoritmo considerado completo quando o destinatrio consegue entender as aes nele descritas. Quando ocorrer o fato de um comando no ser do entendimento do destinatrio, esse comando deve ser desdobrado em novos comandos. Esse processo denominase refinamento. Observa-se nesse momento que, aps ter analisado o problema de forma global, efetua-se a anlise dos seus detalhes, quebrando-o em algumas partes. Cada uma dessas partes pode ser dividida em outras e assim sucessivamente at chegar a um nvel mnimo de diviso. Como exemplo desse conceito, observe o problema descrito em seguida:

Prof. Francisco Gerson A. de Meneses

Prof. Francisco Gerson A. de Meneses

Lgica de Programao
Refinamento de Algoritmos: Elaborar um algoritmo que descreva os passos para que uma pessoa possa embarcar em um nibus, at o momento de pagar a passagem e ultrapassar a catraca, considerando que ela j esteja no ponto. 1 2 3 4 5 6 visualizar o nibus que se aproxima. dar o sinal. entrar no nibus. ir at a catraca. pagar a passagem ultrapassar a catraca

Lgica de Programao
Refinamento de Algoritmos: Nesse caso necessrio efetuar o refinamento do algoritmo, tornando-o mais detalhado e, dessa forma mais eficiente, conforme o que segue: 1 visualizar o nibus que se aproxima. 2 dar o sinal se for o nibus desejado. 3 verificar a porta de entrada. 4 ir at a catraca. 5 pagar a passagem caso o dinheiro esteja mo; caso contrrio retir-lo da carteira. 6 ultrapassar a catraca. Caso o nibus visualizado no seja o desejado, aguardar o prximo, seguindo instrues a partir do passo 1.

Nesse exemplo, o problema foi analisado de forma global. No foram levados em considerao os seguintes aspectos: se o nibus o desejado, se a entrada pela frente ou por trs, se o passageiro estava com o dinheiro na mo, e outros.

Prof. Francisco Gerson A. de Meneses

Bibliografia
GUIMARES, ngelo M; LAGES, Newton A. C.; Introduo a Cincia da Computao. LTC Livros Tcnicos e Cientficos. Edio Atualizada. MANZANO, M. I. N. G. & MANZANO, A. L. N.G. Estudo Dirigido de Informtica Bsica. rica, 7 Edio, 2007. Monteiro, Mrio A. Introduo Organizao de Computadores 4 Edio Editora LTC Pesquisas na WEB Notas de aula

You might also like