Professional Documents
Culture Documents
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
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.
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:
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):
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):
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
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
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
b) A (C V B') V (B C')
b)
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'
A = T . (H + W) + W' . P
x . y' + x'. z
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.
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.
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.
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:
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.
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
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:
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.
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:
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.
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