153
1 Ál ge bra Booleana Prof. Celso A. W. Santos J701 :: Lógica de Programação e Algoritmos [email protected] 25/08/2020

Álgebra Booleana - Unicamp

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Álgebra Booleana - Unicamp

1

Álgebra BooleanaProf. Celso A. W. Santos

J701 :: Lógica de Programação e Algoritmos

[email protected]

25/08/2020

Page 2: Álgebra Booleana - Unicamp

2

O que já vimos até agora?

� O que é um algoritmo? Pra que eles servem? Pra que computadoresservem?

� O que são variáveis?

� Quais são os tipos de dados mais usados?

� Como identificamos variáveis em memória?

� Como estruturamos os nossos algoritmos?

Page 3: Álgebra Booleana - Unicamp

2

O que já vimos até agora?

� O que é um algoritmo? Pra que eles servem? Pra que computadoresservem?

� O que são variáveis?

� Quais são os tipos de dados mais usados?

� Como identificamos variáveis em memória?

� Como estruturamos os nossos algoritmos?

Page 4: Álgebra Booleana - Unicamp

2

O que já vimos até agora?

� O que é um algoritmo? Pra que eles servem? Pra que computadoresservem?

� O que são variáveis?

� Quais são os tipos de dados mais usados?

� Como identificamos variáveis em memória?

� Como estruturamos os nossos algoritmos?

Page 5: Álgebra Booleana - Unicamp

2

O que já vimos até agora?

� O que é um algoritmo? Pra que eles servem? Pra que computadoresservem?

� O que são variáveis?

� Quais são os tipos de dados mais usados?

� Como identificamos variáveis em memória?

� Como estruturamos os nossos algoritmos?

Page 6: Álgebra Booleana - Unicamp

2

O que já vimos até agora?

� O que é um algoritmo? Pra que eles servem? Pra que computadoresservem?

� O que são variáveis?

� Quais são os tipos de dados mais usados?

� Como identificamos variáveis em memória?

� Como estruturamos os nossos algoritmos?

Page 7: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Page 8: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início

Page 9: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início x, y, z

Page 10: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início x, y, z

resultado← x + y + z

Page 11: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início x, y, z

resultado← x + y + z

resultado

Page 12: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início x, y, z

resultado← x + y + z

resultado Fim

Page 13: Álgebra Booleana - Unicamp

3

Exemplo da soma

� Problema: Descreva um algoritmo para somar três números.

Início x, y, z

resultado← x + y + z

resultado Fim

E se pudéssemosusar apenas

duas variáveis?

Page 14: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Page 15: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início

Page 16: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b

Page 17: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b

ba

Page 18: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b a← a + b

ba

Page 19: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b a← a + b

, ab, a

ba

Page 20: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b a← a + b

, ab, aa← a + b

ba

Page 21: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b a← a + b

, ab, aa← a + ba

ba

Page 22: Álgebra Booleana - Unicamp

4

Resolvendo o Ex. #1!

� Problema: Some três números usando apenas duas variáveis.

Início a, b a← a + b

, ab, aa← a + ba

Fim

ba

Page 23: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 24: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 25: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 26: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 27: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 28: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 29: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 30: Álgebra Booleana - Unicamp

5

Formalizando: Estrutura Sequencial

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, ba← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 31: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 32: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 33: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 34: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 35: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 36: Álgebra Booleana - Unicamp

6

Entrada e Saída

� As informações de entrada do usuário serão armazenadas emvariáveis.

� Conforme vimos, variáveis possuem um nome e um tipo de dadoespecífico!

De agora em diante, todas as declarações de variáveis e operaçõesde entrada devem vir acompanhadas do tipo de dado!

� Nosso objetivo não é fazer códigos/programas/algoritmos ultraabrangentes, ou lidar com todos os tipos de dados possíveis deentrada, ou qualquer coisa do tipo. Nosso objetivo (nesta disciplina)é lidar com problemas computacionais específicos!

� O algoritmo é considerado correto quando ele dá uma respostacorreta para uma entrada correta!

. Se a entrada foi errada, a culpa é do usuário, não do programador!

Page 37: Álgebra Booleana - Unicamp

7

Agora com tipos de dados...

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, b

a← input do usuáriob← input do usuárioa← a + bb← input do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 38: Álgebra Booleana - Unicamp

7

Agora com tipos de dados...

� Em pseudocódigo:

Entrada: Três números x, y e zSaída: O valor x + y + z

Declara variáveis a, b (inteiras)a← input (int) do usuáriob← input (int) do usuárioa← a + bb← input (int) do usuárioa← a + bimprime a

Os nomes e funcionalidades dasvariáveis são “independentes”da entrada do programa!

Todo algoritmo segue amesma estrutura sequencial:(i) início;(ii) declaração de variáveis;(iii) processamento; e(iv) fim.

Page 39: Álgebra Booleana - Unicamp

8

Alterando o Fluxo

� E se quisermos alterar o fluxo sequencial de um algoritmo?

Início NP1, NP2

NS = 3×NP 1+4×NP 27

NS ≥ 7.0?

“Aprovado :)”

sim

Fim

EX

nãoNF = NS+EX

2

NF ≥ 5.0?sim

“Reprovado D:”

não

Page 40: Álgebra Booleana - Unicamp

8

Alterando o Fluxo

� E se quisermos alterar o fluxo sequencial de um algoritmo?

Início NP1, NP2

NS = 3×NP 1+4×NP 27

NS ≥ 7.0?

“Aprovado :)”

sim

Fim

EX

nãoNF = NS+EX

2

NF ≥ 5.0?sim

“Reprovado D:”

não

Page 41: Álgebra Booleana - Unicamp

8

Alterando o Fluxo

� E se quisermos alterar o fluxo sequencial de um algoritmo?

Início NP1, NP2

NS = 3×NP 1+4×NP 27

NS ≥ 7.0?

“Aprovado :)”

sim

Fim

EX

nãoNF = NS+EX

2

NF ≥ 5.0?sim

“Reprovado D:”

não

Depende doresultado de umaoperação lógica!

Page 42: Álgebra Booleana - Unicamp

9

Valores Booleanos

Page 43: Álgebra Booleana - Unicamp

10

Um pouquinho de história...

� Como formalizar matematicamente “lógica dedutiva”?

George Boole (1815 – 1864)� Definiu a álgebra booleana: uma área da matemática que lida com

operações lógicas em valores binários.

� Imprescindível em linguagens de programação modernas, porque sótratamos com informações binárias!

Page 44: Álgebra Booleana - Unicamp

10

Um pouquinho de história...

� Como formalizar matematicamente “lógica dedutiva”?

George Boole (1815 – 1864)� Definiu a álgebra booleana: uma área da matemática que lida com

operações lógicas em valores binários.

� Imprescindível em linguagens de programação modernas, porque sótratamos com informações binárias!

Page 45: Álgebra Booleana - Unicamp

10

Um pouquinho de história...

� Como formalizar matematicamente “lógica dedutiva”?

George Boole (1815 – 1864)� Definiu a álgebra booleana: uma área da matemática que lida com

operações lógicas em valores binários.

� Imprescindível em linguagens de programação modernas, porque sótratamos com informações binárias!

Page 46: Álgebra Booleana - Unicamp

10

Um pouquinho de história...

� Como formalizar matematicamente “lógica dedutiva”?

George Boole (1815 – 1864)� Definiu a álgebra booleana: uma área da matemática que lida com

operações lógicas em valores binários.

� Imprescindível em linguagens de programação modernas, porque sótratamos com informações binárias!

Page 47: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.”

. “Alguns números negativos são inteiros.”

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 48: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.”

. “Alguns números negativos são inteiros.”

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 49: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.”

. “Alguns números negativos são inteiros.”

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 50: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.”

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 51: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.”

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 52: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 53: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.”

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 54: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 55: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.”

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 56: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 57: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 58: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.” ???

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 59: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 60: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.” ???

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 61: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 62: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.” ???

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 63: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 64: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 65: Álgebra Booleana - Unicamp

11

O Tipo de Dado Booleano

� Dados Lógicos: valores booleanos True e False.

� Esses valores são associados a proposições (não necessariamentematemáticas!)

. “Todos os números são inteiros.” =⇒ False

. “Alguns números negativos são inteiros.” =⇒ True

. “Todo quadrado é um retângulo.” =⇒ True

. “O número 10 é maior que o número 20.” =⇒ False

. “Eu tenho 187cm de altura.”

. “Hoje vai chover.”

. “O valor na variável x é maior que o valor da variável y.”

� Dependendo da pessoa, do dia, ou dos valores das variáveis x e y, ovalor booleano das expressões pode mudar!

� A chave é que o valor booleano dessas expressões pode ser testado!

� Podemos controlar o fluxo de execução de um algoritmo dependendodo valor de expressões!

Page 66: Álgebra Booleana - Unicamp

12

Controle de Fluxo :: Exemplo #1

8. Desenhe um fluxograma que mostra o resultado da divisão dedois números. Lembre-se: não é possível dividir por zero.

Início

n1, n2 n2 = 0?

“Não é possíveldividir por zero!”

d← n1/n2 d

Fim

Page 67: Álgebra Booleana - Unicamp

12

Controle de Fluxo :: Exemplo #1

8. Desenhe um fluxograma que mostra o resultado da divisão dedois números. Lembre-se: não é possível dividir por zero.

Início

n1, n2 n2 = 0?

“Não é possíveldividir por zero!”

d← n1/n2 d

Fim

sim

não

Page 68: Álgebra Booleana - Unicamp

12

Controle de Fluxo :: Exemplo #1

8. Desenhe um fluxograma que mostra o resultado da divisão dedois números. Lembre-se: não é possível dividir por zero.

Início

n1, n2 n2 = 0?

“Não é possíveldividir por zero!”

d← n1/n2 d

Fim

True

False

Page 69: Álgebra Booleana - Unicamp

13

Operadores e Resultados Booleanos

Page 70: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 71: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 72: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 73: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 74: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 75: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 76: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 77: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 78: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20?. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 79: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 80: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10?. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 81: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 82: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4?. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 83: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4? =⇒ True. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 84: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4? =⇒ True. É verdade que n1 = 0?. É verdade que ’10’ > ’4’?

Page 85: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4? =⇒ True. É verdade que n1 = 0? Depende do que estiver em n1!. É verdade que ’10’ > ’4’?

Page 86: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4? =⇒ True. É verdade que n1 = 0? Depende do que estiver em n1!. É verdade que ’10’ > ’4’?

Page 87: Álgebra Booleana - Unicamp

14

Resultados Booleanos: Comparações

� As principais operações matemáticas que retornam dados Booleanossão comparações lógicas.

. Maior ou igual (≥)

. Maior (>)

. Menor ou igual (≤)

. Menor (<)

. Igualdade (=)

. Desigualdade (6=)

� Exemplos didáticos:. É verdade que 10 > 20? =⇒ False. É verdade que 10 ≥ 10? =⇒ True. É verdade que 10 > 4? =⇒ True. É verdade que n1 = 0? Depende do que estiver em n1!. É verdade que ’10’ > ’4’? =⇒ False

Page 88: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 89: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 90: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 91: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 92: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 93: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 94: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 95: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 96: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 97: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 98: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 99: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 100: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4}. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 101: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4} =⇒ True. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 102: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4} =⇒ True. {1, 3} ⊂ números ímpares?. números primos ⊃ números ímpares?

Page 103: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4} =⇒ True. {1, 3} ⊂ números ímpares? =⇒ True. números primos ⊃ números ímpares?

Page 104: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4} =⇒ True. {1, 3} ⊂ números ímpares? =⇒ True. números primos ⊃ números ímpares?

Page 105: Álgebra Booleana - Unicamp

15

Resultados Booleanos: Comparações

� Existem outras operações!. Pertencimento (∈, in). Não pertencimento (6∈). Existência (∃). Não existência ( 6 ∃). Subconjunto (⊂). Superconjunto (⊃)

� Exemplos (não tão) didáticos:. ’na’ in ’banana’ =⇒ True. ’bat’ in ’superman’ =⇒ False. 3 ∈ {1, 2, 3, 4} =⇒ True. {1, 3} ⊂ números ímpares? =⇒ True. números primos ⊃ números ímpares? =⇒ False

Page 106: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 107: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 108: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 109: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 110: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 111: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 112: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 113: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 114: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 115: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 116: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 117: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 118: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 119: Álgebra Booleana - Unicamp

16

Operadores Booleanos

� Vamos olhar um pouco mais afundo na comparação “maior ou igual”.� Por que 10 ≥ 10 é True?� Porque, na verdade, estamos fazendo dois testes ao mesmo tempo:

1 Estamos perguntando se 10 é MAIOR do que 10...2 ... ou se 10 é IGUAL a 10

� A expressão 10 ≥ 10 é verdadeira porque a segunda afirmação éverdadeira, mesmo a primeira sendo falsa.

� George Boole formalizou um conjunto de operações lógicas quepodem ser realizadas sobre expressões (valores) Booleanos:

. Disjunção, o “ou” lógico

. Conjunção, o “e” lógico

. Negação, o “não” lógico

� Vamos olhar cada uma dessas separadamente...

Page 120: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 121: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 122: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 123: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 124: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 125: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 126: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 127: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 128: Álgebra Booleana - Unicamp

17

Disjunção :: Operadores Booleanos

� A operação lógica da disjunção é denotada pelo operador ∨.

� Dadas duas expressões lógicas P e Q, a disjunção P ∨Q é Truequando pelo menos uma das expressões P ou Q é True.

� Exemplos:. P : O número x é maior que 10.

Q: O número x é igual a 10.P ∨Q: O número x é maior OU igual a 10.

. P : O aluno z joga futebol.Q: O aluno z joga handebol.P ∨Q: O aluno z joga futebol OU ele joga handebol.

Page 129: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 130: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 131: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 132: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 133: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 134: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 135: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 136: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 137: Álgebra Booleana - Unicamp

18

Conjunção :: Operadores Booleanos

� A operação lógica da conjunção é denotada pelo operador ∧.

� Dadas duas expressões lógicas P e Q, a conjunção P ∧Q é Truequando P e Q são True simultaneamente.

� Exemplos:. P : O número x é primo.

Q: O número x é par.P ∧Q: O número x é primo E ele é par.

. P : O login inserido pelo usuário é “celso”Q: A senha inserida pelo usuário é “paprica1234”P ∧Q: O login é “celso” E a senha é “paprica1234”

Page 138: Álgebra Booleana - Unicamp

19

Negação :: Operadores Booleanos

� A operação lógica da negação é denotada pelo operador ¬.� Dadas uma expressões lógica P , a negação de P é denotada por¬P . Isto é, se P é True, então ¬P é False (e vice-versa).

� Exemplos:. P : O número x é igual a 20.¬P : O número x NÃO é igual a 20.

. P : O usuário k é um administrador.¬P : O usuário k NÃO é um administrador.

. P : ’na’ pertence à ’banana’¬P : ’na’ NÃO pertence à ’banana’

Page 139: Álgebra Booleana - Unicamp

19

Negação :: Operadores Booleanos

� A operação lógica da negação é denotada pelo operador ¬.� Dadas uma expressões lógica P , a negação de P é denotada por¬P . Isto é, se P é True, então ¬P é False (e vice-versa).

� Exemplos:. P : O número x é igual a 20.¬P : O número x NÃO é igual a 20.

. P : O usuário k é um administrador.¬P : O usuário k NÃO é um administrador.

. P : ’na’ pertence à ’banana’¬P : ’na’ NÃO pertence à ’banana’

Page 140: Álgebra Booleana - Unicamp

19

Negação :: Operadores Booleanos

� A operação lógica da negação é denotada pelo operador ¬.� Dadas uma expressões lógica P , a negação de P é denotada por¬P . Isto é, se P é True, então ¬P é False (e vice-versa).

� Exemplos:. P : O número x é igual a 20.¬P : O número x NÃO é igual a 20.

. P : O usuário k é um administrador.¬P : O usuário k NÃO é um administrador.

. P : ’na’ pertence à ’banana’¬P : ’na’ NÃO pertence à ’banana’

Page 141: Álgebra Booleana - Unicamp

20

Tabelas Verdade

� A melhor forma de visualizar as operações lógicas e os seusresultados é utilizando Tabelas Verdade

P Q P ∨QF F FF T TT F TT T T

Disjunção

P Q P ∧QF F FF T FT F FT T T

Conjunção

P ¬PF TT FNegação

Page 142: Álgebra Booleana - Unicamp

20

Tabelas Verdade

� A melhor forma de visualizar as operações lógicas e os seusresultados é utilizando Tabelas Verdade

P Q P ∨QF F FF T TT F TT T T

Disjunção

P Q P ∧QF F FF T FT F FT T T

Conjunção

P ¬PF TT FNegação

Page 143: Álgebra Booleana - Unicamp

20

Tabelas Verdade

� A melhor forma de visualizar as operações lógicas e os seusresultados é utilizando Tabelas Verdade

P Q P ∨QF F FF T TT F TT T T

Disjunção

P Q P ∧QF F FF T FT F FT T T

Conjunção

P ¬PF TT FNegação

Page 144: Álgebra Booleana - Unicamp

20

Tabelas Verdade

� A melhor forma de visualizar as operações lógicas e os seusresultados é utilizando Tabelas Verdade

P Q P ∨QF F FF T TT F TT T T

Disjunção

P Q P ∧QF F FF T FT F FT T T

Conjunção

P ¬PF TT FNegação

Page 145: Álgebra Booleana - Unicamp

21

Controlando Fluxo de Algoritmos

Page 146: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 147: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 148: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 149: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 150: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 151: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 152: Álgebra Booleana - Unicamp

22

Controlando o fluxo

� Ideia principal: utilizar expressões lógicas para controlar o fluxo deexecução de um algoritmo.

� Exemplos (pequenos) de aplicações:. Divisão por 0!. Movimentação do jogador!

� Exemplos (grandes) de aplicações:. Login/senha!

“Se o login inserido for correto E a senha inserida for correta, entãoo usuário tem acesso ao site.”“Caso contrário, mostre uma tela de login.”

. Acesso privilegiado!“Se o usuário NÃO tem permissão para realizar a operação, nãopermita-o e mostre um aviso.”“Caso contrário, realize a operação.”

Page 153: Álgebra Booleana - Unicamp

23

Dúvidas?