138
# Introdução à Computação # Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana) Prof. Leinylson Fontinele Pereira

Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Embed Size (px)

Citation preview

Page 1: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

# Introdução à Computação #

Aula 08 – ALGORITMOS

(Lógica de Programação, Álgebra Booleana)

Prof. Leinylson Fontinele Pereira

Page 2: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Na aula anterior...

ALGORITMOS# Sistemas de Numeração

# Aritmética Binária

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 3: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Introdução

11:01 3I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 4: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

O que vamos aprender?

ALGORITMOS# Lógica de Programação

# Álgebra Booleana

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 5: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Vamos começar?

11:01 5I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 6: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Histórico

11:01

Gottfried Wilhelm Leibniz (1646-1716)

“A única maneira de garantir aconsistência de nossos raciocínios étorná-los tão tangíveis quanto os dosmatemáticos…”.

“Se duas pessoas discordarem, bastacalcular quem está certo”.

(The Art of Discovery, 1685)

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 7: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Leibniz

11:01

Primeiro a propor o sistema binário;

Criador do Cálculo (paralelamente a Newton);

Os princípios da lógica de Leibniz (e de toda sua filosofia) eram:

# (i) Todas as nossas idéias são formadas a partir de um pequeno número deidéias simples, que formam o alfabeto do pensamento humano;

# (ii) Idéias complexas procedem dessas idéias simples por uma combinaçãouniforme e simétrica, análoga à multiplicação aritmética.

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 8: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Ideias de Leibniz

11:01

Com relação ao princípio (i), o número de ideias simples é bem maior do queLeibniz pensou;

Quanto a (ii), a lógica pode, de fato, ser situada em uma operação decombinação simétrica, mas tal operação é análoga também à adição, e não só àmultiplicação;

A Lógica Formal que surgiria no início do século XX exige também, no mínimo,negação unária e variáveis quantificadas sobre algum universo de discurso;

Leibniz não publicou nada em Lógica Formal durante sua vida; a maior partedo que ele escreveu no assunto consiste de rascunhos e trabalhos nãoterminados.

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 9: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Histórico

11:01

George Boole (1815-1864)

Considerado um dosfundadores da Ciência daComputação

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 10: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Ideias de Boole

11:01

Usar símbolos algébricos como x, y, z, p, q, r para denotar palavras, frases, ouproposições;

O que Boole estava pensando era em criar um sistema algébrico com operaçõescomo adição e multiplicação e métodos de resolução de equações;

A Álgebra de Boole exigia a formulação de uma linguagem simbólica dopensamento;

Resolver uma equação em tal linguagem não levaria a uma resposta numérica, massim a uma conclusão lógica.

Sua álgebra seria a “álgebra do pensamento”

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 11: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Álgebra Booleana

11:01

Álgebra “Tradicional”:

# Variáveis representam números reais;

# Operadores são aplicados às variáveis e o resultado é um número real;

Álgebra Booleana:

# Variáveis representam apenas 0 ou 1

# Operadores retornam apenas 0 ou 1

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 12: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Álgebra Booleana

11:01

x = jovem e y = faz Ciência da Computação;

Então (1 − 𝑥) iria então representar a operação de selecionar todas as coisasno mundo exceto jovens, isto é, todas as coisas que não são jovens;

(𝑥𝑦) representaria o conjunto dos jovens que fazem Ciência da Computação;

(1 − 𝑥) (1 − 𝑦) seria todas as coisas que não são jovens nem fazemCiência da Computação;

(𝑥 + 𝑦) seria o conjunto das coisas que são jovens ou que fazem Ciência daComputação.

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 13: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operações Booleanas Básicas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 14: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operações Booleanas Básicas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 15: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Representação Diagramática

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 16: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operações Booleanas Derivadas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 17: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Definição da Álgebra de Boole

11:01

Conjunto de elementos B

Operações binárias:{. , +}

Operações unárias: { ` }, também pode ser utilizado o ‾

Regras de prioridade: ` , . , +

O conjunto B contém pelo menos dois elementos𝑎, 𝑏 sendo 𝑎 ≠ 𝑏

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 18: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Álgebra de Boole de Dois Valores

11:01

O conjunto 𝐵 = {1, 0} e as operações lógicas OR, AND e NOT satisfazem osaxiomas da álgebra booleana?# AND (E)

• Símbolo: . ou nenhum

# OR (OU)

• Símbolo: +

# NOT (COMPLEMENTO)

• Símbolo: ` ou ‾

# Também são encontrados na literatura os seguintes símbolos:

AND (&, ^); OR , v); NOT(~, !)

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 19: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Avaliando Equações Booleanas

11:01

Ex: “Eu irei almoçar se Maria ou João forem e se Célia não for.”

Suponha que F represente o meu comparecimento ao almoço# 1 significa presença, 0 indica ausência

Do mesmo modo# 𝑚 significa a presença de Maria, 𝑗 a de João e 𝑐 a de Célia

F = (m OR j) AND NOT(c)

F = (m + j) c’

I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 20: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Lógica Proposicional

11:01 20I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 21: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

A Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 22: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 23: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Origem da Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 24: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Argumento Lógico

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 25: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Argumento Lógico

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Argumento

Se eu estudar, aprenderei PremissasEu estudei

Logo, eu aprendi Conclusão

Page 26: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Inferência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 27: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Inferência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 28: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Inferência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 29: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Princípios Lógicos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 30: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Lógica Proposicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 31: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 32: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

O Que São Proposições?

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 33: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Não São Proposições

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Orações exclamativasQuero mais café!Bom dia!

Orações interrogativasICC é uma boa disciplina?Será que o Brasil ganha?

Orações imperativasCompre batom.Baixe o material da aula.

Sentenças abertas7 − 2𝑥 > 2Ele é um bom lutador.𝑥 − 2 = 5

ParadoxosSou mentiroso.Essa sentença é falsa.“A frase dentro desta aspa éuma mentira”

Frases sem verboA vida de Francisco.O rei do camarote.

Page 34: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

A Linguagem da Lógica Proposicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 35: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Letras Sentenciais

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 36: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Simples (Atômicas)

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 37: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Simples

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 38: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Simples

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 39: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Compostas (Molecular)

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 40: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Compostas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 41: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Proposições Compostas (Molecular)

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 42: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Conectivos Lógicos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 43: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 44: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 45: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 46: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 47: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 48: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 49: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Negação

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 50: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 51: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 52: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 53: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 54: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 55: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 56: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 57: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 58: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 59: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 60: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 61: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 62: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 63: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Conjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 64: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 65: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 66: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 67: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 68: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 69: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 70: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 71: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 72: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 73: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 74: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 75: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 76: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 77: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 78: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 79: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 80: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 81: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 82: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 83: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 84: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 85: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 86: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 87: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Disjunção Exclusiva

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 88: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Condicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 89: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador de Condicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 90: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador Bicondicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 91: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador Bicondicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 92: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador Bicondicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 93: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador Bicondicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 94: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Operador Bicondicional

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 95: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Mais exemplos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 96: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Mais exemplos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 97: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Mais exemplos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 98: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Mais exemplos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 99: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Mais exemplos

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 100: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Uso dos Parênteses ( e )

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 101: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Tabela Verdade de uma Proposição Composta

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 102: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Ordem de Precedência dos Operadores

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 103: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Construindo a Tabela Verdade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 104: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Construindo a Tabela Verdade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 105: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Construindo a Tabela Verdade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 106: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Construindo a Tabela Verdade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 107: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Construindo a Tabela Verdade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 108: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Tautologia

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 109: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Tautologia

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 110: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Tautologia

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 111: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Tautologia

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

p (pq) é sempre verdadeira (uma tautologia) independentemente dos

valores verdade das subproposições envolvidas (p e q):

“se bananas são laranjas então bananas são laranjas ou bananas são bananas”

“se 2 = 2, então 2 = 2 ou 3 + 1 = 5”

Page 112: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contradição

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 113: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contradição

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 114: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contradição

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 115: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contradição

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Por exemplo, a fórmula (pq) (pq) configura uma contradição:

p q q (p q) (p q) (p q) (p q)

F F V V F F

F V F V F F

V F V F V F

V V F V F F

Page 116: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contradição

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Proposição falsa

“2 + 2 = 5”

Contradição

“2 + 2 = 5 𝑒 2 + 2 ≠ 5”

Page 117: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contingência

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 118: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contingência

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 119: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Contingência

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 120: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Equivalência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Se duas proposições 𝑝, 𝑞 têm a mesma tabela verdade então 𝑝 é logicamente equivalente a 𝑞.

pq

Page 121: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Equivalência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Equivalência lógica entre proposições (pq) e pq

p q p q (p q ) (p q ) p q

F F V V F V V

F V V F F V V

V F F V F V V

V V F F V F F

Page 122: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Equivalência Lógica

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Proposições verdadeiras, mas não logicamente equivalentes:

“2 + 5 = 7” 𝑒 “3 − 1 = 2”

Proposições verdadeiras e logicamente equivalentes:

“2 + 5 = 7 𝑜𝑢 3 − 1 = 2” 𝑒 “3 − 1 = 2 𝑜𝑢 2 + 5 = 7”

Page 123: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Regras Hipotéticas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Raciocínio hipotético: raciocínio baseado em hipóteses

# Uma suposição feita a fim de mostrar que uma conclusão segue da suposição

Page 124: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Regras Hipotéticas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 125: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Postulados e Teoremas

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 126: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Transcreva as sentenças para a linguagem do cálculo proposicional

Page 127: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(1) Está chovendo.

(2) Não está chovendo.

(3) Está chovendo ou nevando.

(4) Está chovendo e nevando.

(5) Está chovendo, mas não está nevando

Page 128: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(6) Não é o caso que está chovendo e nevando.

(7) Se não está chovendo, então está nevando.

(8) Não é o caso que se está nevando então está chovendo.

(9) Está chovendo somente se não está nevando.

(10) Está chovendo se e somente se não está nevando.

Page 129: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(11) Não é o caso que está chovendo ou nevando.

(12) Se está nevando e chovendo, então está nevando.

(13) Se não está chovendo, então não é o caso que está nevando e chovendo.

(14) Ou está chovendo, ou está nevando e chovendo.

(15) Ou está chovendo e nevando, ou está nevando mas não está chovendo.

Page 130: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

A: Alice vai à festa.

B: Beatriz vai à festa.

C: Cláudia vai à festa.

D: Débora vai à festa.

Page 131: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(16) Alice não vai à festa.

(17) Alice vai à festa, mas Beatriz não.

(18) Se Alice for à festa, entao Beatriz também irá.

(19) Alice vai à festa, se Beatriz também for.

(20) Alice vai à festa somente se Beatriz for.

Page 132: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(21) Alice vai à festa se e somente se Beatriz for.

(22) Nem Alice nem Beatriz vão à festa.

(23) Não é o caso que Alice e Beatriz ambas irão à festa.

(24) Ou Alice vai à festa, ou Beatriz não vai.

(25) Alice não vai à festa, se Beatriz for.

Page 133: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(26) Ou Alice vai à festa, ou Beatriz e Cláudia vão.

(27) Se Alice for à festa, então Beatriz e Débora também irão.

(28) Alice não vai à festa, mas Beatriz e Cláudia irão.

(29) Se Cláudia for à festa, então, se Alice não for à festa, Beatriz vai.

(30) Se nem Cláudia nem Beatriz forem à festa, então Alice irá.

Page 134: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Atividade

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

(31) Cláudia vai à festa somente se Alice e Beatriz não forem.

(32) Cláudia e Débora vão à festa, apesar de Alice e Beatriz não irem.

(33) Se Cláudia ou Beatriz forem à festa, então Alice vai à festa e Beatriz não vai.

(34) Cláudia e Beatriz vão à festa se e somente se Alice ou Débora forem.

(35) Se Débora for à festa, então Cláudia ou Alice irão, e se Débora não for, entãoAlice e Beatriz irão.

Page 135: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Material: https://sites.google.com/site/leinylsonuespi

11:01

Aula baseada no material de

Introdução ao Computador, Bernardo Gonçalves

Lógica Computacional, Prof. Rodrigo Baluz

Proposições simples, compostas e Princípios da lógicaproposicional, Fábio Reccanello

Toda a Matemática, Gustavo ViegasI.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 136: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Nesta aula aprendemos...

ALGORITMOS# Lógica de Programação

# Álgebra Booleana

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 137: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Na próxima aula veremos...

ALGORITMOS# Simulando Operações com Portas Lógicas

# Aula Prática

11:01I.C.C.: Aula 08 – ALGORITMOS (Lógica de Programação, Álgebra Booleana)

Page 138: Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra Booleana)

Alguma Dúvida?

11:01

Até a próxima aula...

[email protected]