SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Raquel Cabral
Dr. Eng. Eletrica, FEEC, Unicamp
mjara.perez@ic.unicamp.br
Ref.: material original (1o S., T. KLMN). por Profa. Sandra Avila, Instituto de Computação (IC/
Unicamp)
MC102-Z, 14 Agosto, 2018
Algoritmos e Programação
de Computadores
Expressões Relacionais, Lógicas e Comandos
Condicionais
Agenda
● Expressões relacionais
● Expressões lógicas
● Comandos condicionais
● Exercícios
Expressões
Relacionais
Tipo bool
● Em Python o tipo bool especifica os valores booleanos falso (False)
e verdadeiro (True).
● Podemos criar variáveis associadas a booleanos, mas o uso mais
comum é na verificação de resultados de expressões relacionais e
lógicas.
>>> a = True
>>> type(a)
<class ‘bool’>
Expressões
● Já vimos que constantes e variáveis são expressões.
● Vimos também que operações aritméticas também são expressões.
>>> a = 10
>>> a = b
>>> a = 2 * 2
>>> a = 10 / 3
>>> a = a + 1
Expressões Relacionais
● Expressões relacionais são aquelas que realizam uma comparação
entre duas expressões e retornam
○ False, se o resultado é falso.
○ True, se o resultado é verdadeiro.
Operadores Relacionais
● Os operadores relacionais da linguagem Python são:
○ == : igualdade
○ != : diferente
○ > : maior que
○ < : menor que
○ >= : maior ou igual que
○ <= : menor ou igual que
Expressões Relacionais
● expressão == expressão : Retorna verdadeiro quando as expressões
forem iguais.
● expressão != expressão : Retorna verdadeiro quando as expressões
forem diferentes.
>>> 9 == 9
True
>>> 9 == 10
False
>>> 9 != 9
False
>>> 9 != 10
True
Expressões Relacionais
● expressão > expressão : Retorna verdadeiro quando a expressão da
esquerda tiver valor maior que a expressão da direita.
● expressão < expressão : Retorna verdadeiro quando a expressão da
esquerda tiver valor menor que a expressão da direita.
>>> 9 > 5
True
>>> 9 < 5
False
Expressões Relacionais
● expressão >= expressão : Retorna verdadeiro quando a expressão da
esquerda tiver valor maior ou igual que a expressão da direita.
● expressão <= expressão : Retorna verdadeiro quando a expressão da
esquerda tiver valor menor ou igual que a expressão da direita.
>>> 9 >= 5
True
>>> 9 <= 5
False
Expressões Relacionais
● Quais das seguintes opções é uma expressão booleana?
a. True
b. 3 == 4
c. 3 + 4
d. 3 + 4 == 7
e. “False”
Expressões Relacionais
● Quais das seguintes opções é uma expressão booleana?
a. True
b. 3 == 4
c. 3 + 4
d. 3 + 4 == 7
e. “False”
>>> True # sim, é uma expressão booleana
True
>>> 3 == 4 # sim, é uma expressão booleana
False
>>> 3 + 4 # não é uma expressão booleana
7
>>> 3 + 4 == 7 # sim, é uma expressão booleana
True
>>> “False” # não é uma expressão booleana
‘False’
Expressões Relacionais
>>> a = 3
>>> b = 4
>>> c = a < b # c recebe o valor da comparação a < b
>>> d = a > b # d recebe o valor da comparação a > b
>>> e = a == b # e recebe o valor da comparação a == b
>>> print(“Valor de c:”, c)
Valor de c: True
>>> print(“Valor de d:”, d)
Valor de d: False
>>> print(“Valor de e:”, e)
Valor de e: False
Expressões Lógicas
Expressões Lógicas
● Expressões lógicas são aquelas que realizam uma operação lógica
(ou, e, não, etc...) e retornam True ou False (como as expressões
relacionais).
● Na linguagem Python temos os seguintes operadores lógicos:
○ and : operador E
○ or: operador OU
○ not: operador NÃO
Expressões Lógicas
● expressão and expressão : Retorna verdadeiro quando ambas as
expressões são verdadeiras. Sua tabela de verdade é:
Qual o resultado da expressão
lógica abaixo?
Op1 Op2 Op1 and Op2
V V V
V F F
F V F
F F F
>>> a = 0
>>> b = 0
>>> ( a == 0 and b == 0 )
True
Expressões Lógicas
● expressão or expressão : Retorna verdadeiro quando pelo menos
uma das expressões é verdadeira. Sua tabela de verdade é:
Qual o resultado da expressão
lógica abaixo?
Op1 Op2 Op1 or Op2
V V V
V F V
F V V
F F F
>>> a = 0
>>> b = 1
>>> ( a == 0 or b == 0 )
True
Expressões Lógicas
● not expressão : Retorna verdadeiro quando a expressão é falsa e
vice-versa. Sua tabela de verdade é:
Qual o resultado da expressão
lógica abaixo?
>>> a = 0
>>> b = 1
>>> not ( a != b )
False
Op1 not Op1
V F
F V
Expressões Lógicas
● O que será impresso pelo programa?
>>> print( 8 > 9 and 10 != 2 )
>>> print( 14 > 100 or 2 > 1)
>>> print( not(14 > 100) and not(1 > 2 ) )
Expressões Lógicas
● O que será impresso pelo programa?
>>> print( 8 > 9 and 10 != 2 )
False
>>> print( 14 > 100 or 2 > 1)
True
>>> print( not(14 > 100) and not(1 > 2 ) )
True
Expressões Lógicas
● Qual é a expressão correta em Python para verificar se um número
armazenado na variável x está entre 0 e 5? (múltiplas respostas)
a. 0 < x < 5
b. x > 0 or x < 5
c. x > 0 and x < 5
d. x > 0 and < 5
Expressões Lógicas
● Qual é a expressão correta em Python para verificar se um número
armazenado na variável x está entre 0 e 5? (múltiplas respostas)
a. 0 < x < 5
b. x > 0 or x < 5
c. x > 0 and x < 5
d. x > 0 and < 5
>>> x = 6
>>> 0 < x < 5
False
>>> x > 0 or x < 5
True
>>> x > 0 and x < 5
False
>>> x > 0 and < 5
File "<stdin>", line 1
x > 0 and < 5
^
Precedência de Operadores
Nível Categoria Operadores
7 (alto) exponenciação **
6 multiplicação *, /, //, %
5 adição +, -
4 relacional ==, !=, <=, >=, >,
<
3 lógico not
2 lógico and
1 (baixo) lógico or
Comandos
Condicionais
Comandos Condicionais
● Um comando condicional é aquele que permite decidir se um
determinado bloco de comandos deve ou não ser executado,
a partir do resultado de uma expressão relacional ou lógica.
Bloco de
Comandos
2
Bloco de
Comandos
1
Falso Verdadeiro
Condição
Blocos de Comandos
● É um conjunto de instruções agrupadas.
● Os comandos agrupados do bloco devem estar indentados dentro
de um comando anterior seguido de dois pontos.
● A indentação é feita em geral com 2 espaços em branco (ou quantos
você quiser) antes de cada comando que deve estar dentro do bloco.
Comandos Condicionais
● O principal comando condicional é o if, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão é verdadeira
● Os comandos são executados somente se a expressão relacional/
lógica for verdadeira.
Comandos Condicionais
● O programa determina se um valor é par.
# Informa se o número é par.
numero = int(input())
if numero % 2 == 0:
print("O número digitado é par.")
Comandos Condicionais
● Uma variação do comando if é o if/else, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão é
verdadeira
else:
comandos executados se a expressão é falsa
Comandos Condicionais
● O programa determina se um valor é par.
# Informa se o número é par.
numero = int(input())
if numero % 2 == 0:
print("O número digitado é par.")
else:
print("O número digitado é ímpar.")
Comandos Condicionais
● O programa determina o menor de dois números.
# Determina o menor de dois números.
numero1 = int(input("Digite um número:"))
numero2 = int(input("Digite um número:"))
if numero1 < numero2:
print("O menor número é:", numero1)
else:
print("O menor número é:", numero2)
Comandos Condicionais
A esposa do Zé disse:
- “Vá ao mercado e traga um litro de leite. Se tiver ovos, traga seis.”
O Zé voltou com seis litros de leite, então sua esposa disse:
- “Zé! Por que você trouxe seis litros de leite?”
E o Zé respondeu:
- “Porque tinha ovos.”
Comandos Condicionais
● Note que o if é um comando, e como tal pode aparecer dentro do
bloco de comandos de outro if.
● Exemplo: Usando apenas operadores relacionais e aritméticos,
vamos escrever um programa que lê um número e verifica em qual
dos seguintes casos o número se enquadra:
○ Par e menor que 100
○ Par e maior ou igual a 100
○ Ímpar e menor que 100
○ Ímpar e maior ou igual a 100
Comandos Condicionais
numero = int(input("Digite um número:"))
if (numero % 2 == 0): # se o número for par
if (numero < 100):
print("O número é par e menor que 100")
else:
print("O número é par e maior ou igual que 100")
else: # se o número for ímpar
if (numero < 100):
print("O número é ímpar e menor que 100")
else:
print("O número é ímpar e maior ou igual que 100")
Comandos Condicionais
numero = int(input("Digite um número:"))
if (numero % 2 == 0): # se o número for par
if (numero < 100):
print("O número é par e menor que 100")
else:
print("O número é par e maior ou igual que 100")
else: # se o número for ímpar
if (numero < 100):
print("O número é ímpar e menor que 100")
else:
print("O número é ímpar e maior ou igual que 100")
Se você pudesse
usar operadores
lógicos, como você
poderia refazer este
programa?
Comandos Condicionais
# Determina o menor de dois números.
numero = int(input("Digite um número:"))
if (numero % 2 == 0) and (numero < 100):
print("O número é par e menor que 100")
if (numero % 2 == 0) and (numero >= 100):
print("O número é par e maior ou igual que 100")
if (numero % 2 != 0) and (numero < 100):
print("O número é ímpar e menor que 100")
if (numero % 2 != 0) and (numero >= 100):
print("O número é ímpar e maior ou igual que 100")
Comandos Condicionais
● Lembre-se que o que define a qual bloco de comandos um comando
pertence é a sua indentação!
● Quando o comando2 é executado?
○ Resposta: quando cond1 for falsa.
○ Resposta: quando a cond1 for verdadeira e cond2 for falsa.
if (cond1):
if (cond2):
comando1
else:
comando2
Comandos Condicionais
● Lembre-se que o que define a qual bloco de comandos um comando
pertence é a sua indentação!
● Quando o comando2 é executado?
○ Resposta: quando cond1 for falsa.
○ Resposta: quando a cond1 for verdadeira e cond2 for falsa.
if (cond1):
if (cond2):
comando1
else:
comando2
Comandos Condicionais
● Quando o comando4 é executado?
if (cond1):
if (cond2):
comando1
else:
comando2
else:
if (cond3):
comando3
else:
comando4
Comandos Condicionais
● Quando o comando4 é executado?
○ Resposta: quando a cond1 for falsa e cond3 for falsa.
if (cond1):
if (cond2):
comando1
else:
comando2
else:
if (cond3):
comando3
else:
comando4
Comandos Condicionais
● O que será impresso?
numero = 5
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso?
○ Resposta: a
numero = 5
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso?
numero = -12
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso?
○ Resposta: c
numero = -12
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso?
numero = 9
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso?
○ Resposta: b (revisar com cuidado a indentação de if e else)
numero = 9
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Comandos Condicionais
● O que será impresso? > Resposta : NADA (atenção à indentação do else)
○ Programa sai em if (numero<7): expressão avaliada com valor False
numero = 9
if (numero > 3):
if (numero < 7):
print("a")
else:
if (numero > -10):
print("b")
else:
print("c")
Exercício
● Escreva um programa que leia três números e imprima o maior deles.
● Escreva um programa que leia três números distintos e os imprima em
ordem decrescente.
Referências
● Livro: Introduction to Boolean Algebras, por S. Givant & P. Halmos, Springer (2009).
● O slides dessa aula baseados no material de MC102 , 1o semestre, da Prof. Sandra
Avila e do Prof. Eduardo Xavier (IC/Unicamp)
● Decisões e Seleção
○ https://panda.ime.usp.br/pensepy/static/pensepy/06-Selecao/selecao.html
○ https://runestone.academy/runestone/static/thinkcspy/Selection/toctree.html

Mais conteúdo relacionado

Semelhante a Aula de apresentação Python explicando conceitos e aplicações.

5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07André Phillip Bertoletti
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicionaladrianaalme
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasSérgio Souza Costa
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de DecisãoRodrigo Kiyoshi Saito
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxCristiano Marçal Toniolo
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisãoCarlos Santos
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacaoAislan Rafael
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1Isaac Barros
 

Semelhante a Aula de apresentação Python explicando conceitos e aplicações. (20)

5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Algoritmos - capítulo 2
Algoritmos - capítulo 2Algoritmos - capítulo 2
Algoritmos - capítulo 2
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicional
 
Visualg
VisualgVisualg
Visualg
 
Ruby learning
Ruby learningRuby learning
Ruby learning
 
Aula03
Aula03Aula03
Aula03
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Resumo computação I
Resumo computação IResumo computação I
Resumo computação I
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptx
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacao
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1
 

Aula de apresentação Python explicando conceitos e aplicações.

  • 1. Raquel Cabral Dr. Eng. Eletrica, FEEC, Unicamp mjara.perez@ic.unicamp.br Ref.: material original (1o S., T. KLMN). por Profa. Sandra Avila, Instituto de Computação (IC/ Unicamp) MC102-Z, 14 Agosto, 2018 Algoritmos e Programação de Computadores Expressões Relacionais, Lógicas e Comandos Condicionais
  • 2. Agenda ● Expressões relacionais ● Expressões lógicas ● Comandos condicionais ● Exercícios
  • 4. Tipo bool ● Em Python o tipo bool especifica os valores booleanos falso (False) e verdadeiro (True). ● Podemos criar variáveis associadas a booleanos, mas o uso mais comum é na verificação de resultados de expressões relacionais e lógicas. >>> a = True >>> type(a) <class ‘bool’>
  • 5. Expressões ● Já vimos que constantes e variáveis são expressões. ● Vimos também que operações aritméticas também são expressões. >>> a = 10 >>> a = b >>> a = 2 * 2 >>> a = 10 / 3 >>> a = a + 1
  • 6. Expressões Relacionais ● Expressões relacionais são aquelas que realizam uma comparação entre duas expressões e retornam ○ False, se o resultado é falso. ○ True, se o resultado é verdadeiro.
  • 7. Operadores Relacionais ● Os operadores relacionais da linguagem Python são: ○ == : igualdade ○ != : diferente ○ > : maior que ○ < : menor que ○ >= : maior ou igual que ○ <= : menor ou igual que
  • 8. Expressões Relacionais ● expressão == expressão : Retorna verdadeiro quando as expressões forem iguais. ● expressão != expressão : Retorna verdadeiro quando as expressões forem diferentes. >>> 9 == 9 True >>> 9 == 10 False >>> 9 != 9 False >>> 9 != 10 True
  • 9. Expressões Relacionais ● expressão > expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor maior que a expressão da direita. ● expressão < expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor menor que a expressão da direita. >>> 9 > 5 True >>> 9 < 5 False
  • 10. Expressões Relacionais ● expressão >= expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor maior ou igual que a expressão da direita. ● expressão <= expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor menor ou igual que a expressão da direita. >>> 9 >= 5 True >>> 9 <= 5 False
  • 11. Expressões Relacionais ● Quais das seguintes opções é uma expressão booleana? a. True b. 3 == 4 c. 3 + 4 d. 3 + 4 == 7 e. “False”
  • 12. Expressões Relacionais ● Quais das seguintes opções é uma expressão booleana? a. True b. 3 == 4 c. 3 + 4 d. 3 + 4 == 7 e. “False” >>> True # sim, é uma expressão booleana True >>> 3 == 4 # sim, é uma expressão booleana False >>> 3 + 4 # não é uma expressão booleana 7 >>> 3 + 4 == 7 # sim, é uma expressão booleana True >>> “False” # não é uma expressão booleana ‘False’
  • 13. Expressões Relacionais >>> a = 3 >>> b = 4 >>> c = a < b # c recebe o valor da comparação a < b >>> d = a > b # d recebe o valor da comparação a > b >>> e = a == b # e recebe o valor da comparação a == b >>> print(“Valor de c:”, c) Valor de c: True >>> print(“Valor de d:”, d) Valor de d: False >>> print(“Valor de e:”, e) Valor de e: False
  • 15. Expressões Lógicas ● Expressões lógicas são aquelas que realizam uma operação lógica (ou, e, não, etc...) e retornam True ou False (como as expressões relacionais). ● Na linguagem Python temos os seguintes operadores lógicos: ○ and : operador E ○ or: operador OU ○ not: operador NÃO
  • 16. Expressões Lógicas ● expressão and expressão : Retorna verdadeiro quando ambas as expressões são verdadeiras. Sua tabela de verdade é: Qual o resultado da expressão lógica abaixo? Op1 Op2 Op1 and Op2 V V V V F F F V F F F F >>> a = 0 >>> b = 0 >>> ( a == 0 and b == 0 ) True
  • 17. Expressões Lógicas ● expressão or expressão : Retorna verdadeiro quando pelo menos uma das expressões é verdadeira. Sua tabela de verdade é: Qual o resultado da expressão lógica abaixo? Op1 Op2 Op1 or Op2 V V V V F V F V V F F F >>> a = 0 >>> b = 1 >>> ( a == 0 or b == 0 ) True
  • 18. Expressões Lógicas ● not expressão : Retorna verdadeiro quando a expressão é falsa e vice-versa. Sua tabela de verdade é: Qual o resultado da expressão lógica abaixo? >>> a = 0 >>> b = 1 >>> not ( a != b ) False Op1 not Op1 V F F V
  • 19. Expressões Lógicas ● O que será impresso pelo programa? >>> print( 8 > 9 and 10 != 2 ) >>> print( 14 > 100 or 2 > 1) >>> print( not(14 > 100) and not(1 > 2 ) )
  • 20. Expressões Lógicas ● O que será impresso pelo programa? >>> print( 8 > 9 and 10 != 2 ) False >>> print( 14 > 100 or 2 > 1) True >>> print( not(14 > 100) and not(1 > 2 ) ) True
  • 21. Expressões Lógicas ● Qual é a expressão correta em Python para verificar se um número armazenado na variável x está entre 0 e 5? (múltiplas respostas) a. 0 < x < 5 b. x > 0 or x < 5 c. x > 0 and x < 5 d. x > 0 and < 5
  • 22. Expressões Lógicas ● Qual é a expressão correta em Python para verificar se um número armazenado na variável x está entre 0 e 5? (múltiplas respostas) a. 0 < x < 5 b. x > 0 or x < 5 c. x > 0 and x < 5 d. x > 0 and < 5 >>> x = 6 >>> 0 < x < 5 False >>> x > 0 or x < 5 True >>> x > 0 and x < 5 False >>> x > 0 and < 5 File "<stdin>", line 1 x > 0 and < 5 ^
  • 23. Precedência de Operadores Nível Categoria Operadores 7 (alto) exponenciação ** 6 multiplicação *, /, //, % 5 adição +, - 4 relacional ==, !=, <=, >=, >, < 3 lógico not 2 lógico and 1 (baixo) lógico or
  • 25.
  • 26. Comandos Condicionais ● Um comando condicional é aquele que permite decidir se um determinado bloco de comandos deve ou não ser executado, a partir do resultado de uma expressão relacional ou lógica.
  • 28. Blocos de Comandos ● É um conjunto de instruções agrupadas. ● Os comandos agrupados do bloco devem estar indentados dentro de um comando anterior seguido de dois pontos. ● A indentação é feita em geral com 2 espaços em branco (ou quantos você quiser) antes de cada comando que deve estar dentro do bloco.
  • 29. Comandos Condicionais ● O principal comando condicional é o if, cuja sintaxe é: if expressão relacional ou lógica: comandos executados se a expressão é verdadeira ● Os comandos são executados somente se a expressão relacional/ lógica for verdadeira.
  • 30. Comandos Condicionais ● O programa determina se um valor é par. # Informa se o número é par. numero = int(input()) if numero % 2 == 0: print("O número digitado é par.")
  • 31. Comandos Condicionais ● Uma variação do comando if é o if/else, cuja sintaxe é: if expressão relacional ou lógica: comandos executados se a expressão é verdadeira else: comandos executados se a expressão é falsa
  • 32. Comandos Condicionais ● O programa determina se um valor é par. # Informa se o número é par. numero = int(input()) if numero % 2 == 0: print("O número digitado é par.") else: print("O número digitado é ímpar.")
  • 33. Comandos Condicionais ● O programa determina o menor de dois números. # Determina o menor de dois números. numero1 = int(input("Digite um número:")) numero2 = int(input("Digite um número:")) if numero1 < numero2: print("O menor número é:", numero1) else: print("O menor número é:", numero2)
  • 34. Comandos Condicionais A esposa do Zé disse: - “Vá ao mercado e traga um litro de leite. Se tiver ovos, traga seis.” O Zé voltou com seis litros de leite, então sua esposa disse: - “Zé! Por que você trouxe seis litros de leite?” E o Zé respondeu: - “Porque tinha ovos.”
  • 35. Comandos Condicionais ● Note que o if é um comando, e como tal pode aparecer dentro do bloco de comandos de outro if. ● Exemplo: Usando apenas operadores relacionais e aritméticos, vamos escrever um programa que lê um número e verifica em qual dos seguintes casos o número se enquadra: ○ Par e menor que 100 ○ Par e maior ou igual a 100 ○ Ímpar e menor que 100 ○ Ímpar e maior ou igual a 100
  • 36. Comandos Condicionais numero = int(input("Digite um número:")) if (numero % 2 == 0): # se o número for par if (numero < 100): print("O número é par e menor que 100") else: print("O número é par e maior ou igual que 100") else: # se o número for ímpar if (numero < 100): print("O número é ímpar e menor que 100") else: print("O número é ímpar e maior ou igual que 100")
  • 37. Comandos Condicionais numero = int(input("Digite um número:")) if (numero % 2 == 0): # se o número for par if (numero < 100): print("O número é par e menor que 100") else: print("O número é par e maior ou igual que 100") else: # se o número for ímpar if (numero < 100): print("O número é ímpar e menor que 100") else: print("O número é ímpar e maior ou igual que 100") Se você pudesse usar operadores lógicos, como você poderia refazer este programa?
  • 38. Comandos Condicionais # Determina o menor de dois números. numero = int(input("Digite um número:")) if (numero % 2 == 0) and (numero < 100): print("O número é par e menor que 100") if (numero % 2 == 0) and (numero >= 100): print("O número é par e maior ou igual que 100") if (numero % 2 != 0) and (numero < 100): print("O número é ímpar e menor que 100") if (numero % 2 != 0) and (numero >= 100): print("O número é ímpar e maior ou igual que 100")
  • 39. Comandos Condicionais ● Lembre-se que o que define a qual bloco de comandos um comando pertence é a sua indentação! ● Quando o comando2 é executado? ○ Resposta: quando cond1 for falsa. ○ Resposta: quando a cond1 for verdadeira e cond2 for falsa. if (cond1): if (cond2): comando1 else: comando2
  • 40. Comandos Condicionais ● Lembre-se que o que define a qual bloco de comandos um comando pertence é a sua indentação! ● Quando o comando2 é executado? ○ Resposta: quando cond1 for falsa. ○ Resposta: quando a cond1 for verdadeira e cond2 for falsa. if (cond1): if (cond2): comando1 else: comando2
  • 41. Comandos Condicionais ● Quando o comando4 é executado? if (cond1): if (cond2): comando1 else: comando2 else: if (cond3): comando3 else: comando4
  • 42. Comandos Condicionais ● Quando o comando4 é executado? ○ Resposta: quando a cond1 for falsa e cond3 for falsa. if (cond1): if (cond2): comando1 else: comando2 else: if (cond3): comando3 else: comando4
  • 43. Comandos Condicionais ● O que será impresso? numero = 5 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 44. Comandos Condicionais ● O que será impresso? ○ Resposta: a numero = 5 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 45. Comandos Condicionais ● O que será impresso? numero = -12 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 46. Comandos Condicionais ● O que será impresso? ○ Resposta: c numero = -12 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 47. Comandos Condicionais ● O que será impresso? numero = 9 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 48. Comandos Condicionais ● O que será impresso? ○ Resposta: b (revisar com cuidado a indentação de if e else) numero = 9 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 49. Comandos Condicionais ● O que será impresso? > Resposta : NADA (atenção à indentação do else) ○ Programa sai em if (numero<7): expressão avaliada com valor False numero = 9 if (numero > 3): if (numero < 7): print("a") else: if (numero > -10): print("b") else: print("c")
  • 50. Exercício ● Escreva um programa que leia três números e imprima o maior deles. ● Escreva um programa que leia três números distintos e os imprima em ordem decrescente.
  • 51. Referências ● Livro: Introduction to Boolean Algebras, por S. Givant & P. Halmos, Springer (2009). ● O slides dessa aula baseados no material de MC102 , 1o semestre, da Prof. Sandra Avila e do Prof. Eduardo Xavier (IC/Unicamp) ● Decisões e Seleção ○ https://panda.ime.usp.br/pensepy/static/pensepy/06-Selecao/selecao.html ○ https://runestone.academy/runestone/static/thinkcspy/Selection/toctree.html