Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 24

1

PROCESSAMENTO DE DADOS
Prof.: Danilo Coimbra
(coimbra.danilo@ufba.br)
Desvios Condicionais
2024.1
Desvios Condicionais ou
2
Estruturas de seleção

 Determinam, com base em um condição, o fluxo de


execução do código/algoritmo
 Se certas linhas de código serão executadas ou não

 Em Python, usamos as palavras-chave if (se), else


(caso contrário) e elif (abreviação de else if)
if (SE)
3

 Em determinadas situações precisamos fazer com


que o computador execute uma instrução apenas se
determinada condição acontecer
A habilidade de tomar decisões é que faz um
computador parecer inteligente

 Chamamos essa situação de Desvio Condicional


 Precisamos de operações lógicas

 Exemplo:
A lâmpada deve ser trocada SE ela estiver queimada.
 Outros exemplos?
if (SE)
4

 A “pergunta” é feita para o comando SE

 O comando verifica se tal condição é VERDADEIRA


(ou SIM)
 Então o comando, ou sequência de comandos, é (são)
executado(s)

 Caso o teste seja FALSO (ou NÃO), o comando não


é executado e o programa continua após a instrução
if (SE)
5

 Em Python, comando IF
 Sintaxe
if condicao:
bloco de código

o bloco de código (sequência de instruções) é executado


somente se a condição for verdadeira
 Importante:
◼ Obs1: Depois da condição deve vir um sinal de dois-pontos (:)
◼ Obs2: A sequência de instruções deve estar indentada em
relação à palavra if (isto é, deve estar mais à direita)
if (SE)
6

 Exemplo

idade = int(input("Digite sua idade: "))


if idade < 18:
print("Você não é adulto.")
print("Favor trazer autorização do responsável.")
print("Programa finalizado.")
Indentação
7

 Indentar significa inserir espaços em branco no início


de uma linha de texto
 Você pode usar espaços ou tabs, mas não misture os
dois no mesmo código-fonte
 Python usa indentação para determinar onde começa
e onde termina um bloco de código
 uma sequência de linhas com a mesma indentação (mesmo
número de espaços) é um bloco de código
 Se você indentar seu código errado, o interpretador
vai emitir um IndentationError.
Indentação
8

 Exemplos de erros
# ERRADO!
if 1 < 2:
print("Menor")
# ERRADO!
if 1 < 2:
print("Menor")
# ERRADO!
if idade < 18:
print("Você não é adulto.")
print("Favor trazer autorização do responsável.")
Operadores Lógicos
9

 Quais operadores posso utilizar nas condições?

> é maior que


< é menor que
>= é maior ou igual a (não escrever =>)
<= é menor ou igual a (não escrever =<)
== é igual a (não confundir com =)
!= é diferente de
ifs
10

 Posso utilizar mais de uma condição?


 Exemplo

idade = int(input("Digite sua idade: "))


if idade >= 18:
print("Você é adulto.")
if idade < 18:
print("Você não é adulto.")

 As condições são opostas!!


 Utilizar a estrutura if/else
if-else
11

 else
 tradução: senão, caso contrário
 O else nunca aparece sozinho; ele é parte da estrutura
if-else.
 Sintaxe
if condicao:
bloco1
else:
bloco2

 Semântica: se a condição for verdadeira, executa


bloco1; se for falsa, executa bloco2
if-else
12

 Exemplo

idade = int(input("Digite sua idade: "))


if idade >= 18:
print("Você é adulto.")
else:
print("Você não é adulto.")
print("Fim")
ifs aninhados
13

 Exemplo

idade = int(input("Digite sua idade: "))


if idade >= 18:
print("Você é adulto.")
else:
if idade >= 12:
print("Você é adolescente.")
else:
print("Você é criança.")
print("Fim")
if-elif
14

 Sintaxe:
if cond1:
bloco1
elif cond2:
bloco2
elif condN:
blocoN
else: # o else é opcional
blocoM

Semântica: Executa o bloco1 se a condição cond1 for verdadeira; caso contrário,


executa bloco2 se a condição cond2 for verdadeira, e assim por diante. Se todas as
condições cond1...condN forem falsas, executa blocoM

OBS.: Nessa estrutura, executa-se apenas o bloco de código corresponde à primeira


condição verdadeira (de cima pra baixo).
if-elif
15

 Exemplo 1

idade = int(input("Digite sua idade: "))


if idade >= 18:
print("Você é adulto.")
elif idade >= 12:
print("Você é adolescente.")
else:
print("Você é criança.")
print("Fim")
if-elif
16

 Exemplo 2

nota = float(input())
if nota > 9.0:
print("Excelente!")
elif nota > 7.0:
print("Muito bom!")
elif nota > 5.0:
print("Razoável!")
else:
print("Estude mais!")
Expressões Lógicas (booleanas)
17

 As condições do if-elif são expressões lógicas


 ou seja, retornam Verdadeiro (True) ou Falso (False)
tipo bool (booleano)

 Para isso podemos usar operadores relacionais e


operadores lógicos
Operadores Relacionais
18

 Exemplo

x = int(input())
if x > 0:
print("Positivo")
elif x < 0:
print("Negativo")
if x % 2 == 1:
print("Ímpar")
Operadores Lógicos
19

São usados para combinar expressões condicionais

 not – não (negação)


 and – e (conjunção lógica)
 or – ou (disjunção lógica)

Ordem de precedência: not, and, or


Exemplo:
x = int(input())
if not (x <= 0) and x % 2 == 1:
print("Positivo impar")
Operadores Lógicos
20

Exemplo 1

Use operadores relacionais no código:

x = int(input())
if (x > 0):
if (x % 2) == 1:
print("Positivo impar")
Operadores Lógicos
21

Exemplo 1

Use operadores relacionais no código:

x = int(input())
if (x > 0):
if (x % 2) == 1:
print("Positivo impar")

x = int(input())
if not (x <= 0) and x % 2 == 1:
print("Positivo impar")
Operadores Lógicos
22

Exemplo 2

x, y = input().split()
x = int(x)
y = int(y)
if y == 1 or x > 0 and x < 5:
print("Ok")

Por causa das regras de precedência, a expressão é


equivalente a (y == 1) or (x > 0 and x < 5)
Operadores Lógicos
23

Ao computar o resultado de uma expressão lógica com


operadores and e or, o interpretador só avalia as
subexpressões se necessário.

 A and B: se A for falso, a expressão B não é avaliada, pois


qualquer que seja seu valor, a expressão A and B é falsa

 A or B: se A for verdadeiro, a expressão B não é avaliada,


pois qualquer que seja seu valor, a expressão A or B é
verdadeira
Operadores Lógicos
24

Exemplo

idade = int(input())
if idade >= 16:
if idade >= 18 and idade <= 70:
print("Voto obrigatório")
else:
print("Voto facultativo")
else:
print("Não pode votar")

Você também pode gostar