Você está na página 1de 33

Estruturas Condicionais

Estruturas condicionais
• Na estrutura sequencial, as ações são executadas na
ordem em que aparecem no programa.
• Nem sempre desejamos que todas as instruções
sejam executadas.
• Em algumas aplicações, pode ser necessário fazer
alguns testes que condicionam a execução de
determinado código.
• Para isso utilizaremos estruturas condicionais que
utilizam operadores relacionais e operadores lógicos
em sua construção.
Operadores Relacionais
• Podemos realizar comparações entre dois valores de
mesmo tipo básico.
• Os operadores relacionais descrevem a comparação a ser
realizada entre os termos.
• Os resultados das operações relacionais são valores
lógicos/booleanos (em Python, são do tipo bool).

OPERADOR SIGNIFICADO
== Igual a
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
!= Diferente de
Exemplo
• Dadas as variáveis inteiras a, b, c e d, onde:
a=5
b=2
c=7
d=5
Analisemos as seguintes expressões:

a >= b  Verdadeiro
b == c  Falso
d != a  Falso
c <= a + b  Verdadeiro
d>c-b
 Falso
Exemplo 1
• Em Python:
– O valor lógico falso é expresso pela palavra reservada False
– O valor lógico verdadeiro é expresso pela palavra reservada True
• O resultado de uma comparação em um programa em Python é
sempre True ou False, mas também é possível tratar números
inteiros como lógicos, como em outras linguagens
– Assim como na linguagem C, números diferentes de zero são vistos
como valores True e o número 0 é visto como o valor False
• Veja o programa abaixo, por exemplo:

print(27 > 5)
print(12 >= 10 + 5 - 3)
print(10 != 15 - 3 - 2)
Operadores Lógicos
• É possível combinar mais de um teste relacional ou
modificar seu resultado, usando-se os operadores
lógicos.
OPERADOR SIGNIFICADO

and E
or OU
not NÃO
• E : resulta em valor verdadeiro se ambas expressões
forem verdadeiras e falso em caso contrário.
• OU: resulta em verdadeiro se qualquer uma das
expressões for verdadeira e falso em caso contrário.
• NÃO: resulta em verdadeiro se a expressão for falsa e
falso se a expressão for verdadeira.
Exemplo
• Dadas as variáveis inteiras a, b, c e d, onde:
a = 10
b=4
c=7
d=6
Analisemos as seguintes expressões:

a >= b and c > d  Verdadeiro


b == c or a >= d  Verdadeiro
d != a and not(b < d)  Falso
c > a + b or a != b + d  Falso
not(a - d - b)
 Verdadeiro
Exemplo 2
a = 10
b = 4
c = 7
d = 6

print(a >= b and c > d)


print(b == c or a >= d)
print(d != a and not(b < d))
print(c > a + b or a != b + d)
print(not(a - d - b))
Estrutura condicional simples (se)
• Fluxograma para se .. então

F
expressão

comandos
Estrutura condicional simples (se)
• Com a estrutura condicional é possível determinar
qual ação será executada, com base no resultado de
uma expressão condicional.
• Forma geral em pseudocódigo:
se (expressão) então
comando1
comando2
comando3
fimse
• Uma expressão pode ser verdadeira ou falsa
• Os comandos 1, 2 e 3 só serão executados se a
expressão for verdadeira!
Estrutura condicional simples (if) em Python
if expressão:
comando1
comando2
comando3
Os três comandos do bloco só serão executados se a
expressão for verdadeira
• A indentação (ou endentação) separa os comandos
que estão dentro do if dos que estão fora do if
if expressão:
comandoa
comandob
comandoc
• Os comandos a e b estão no bloco if. O c, não!
Exemplo 3
• Escreva um algoritmo que avalia se uma pessoa pode
tirar carteira de habilitação.
• Algoritmo:
# Algoritmo que avalia se uma pessoa pode tirar
# carteira de habilitação.
início
inteiro idade
escreva ("Digite sua idade: ")
leia (idade)
se (idade >= 18) então
escreva ("Já pode obter habilitação. ")
fimse
fim
Exemplo 3
• Escreva um programa em Python que avalia se uma
pessoa pode tirar carteira de habilitação.

• Programa:

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

# Comparação com a idade mínima


if idade >= 18:
print("Já pode obter habilitação!")
print("Até mais!")
Estrutura condicional composta (se/senão)
• Fluxograma para se .. então .. senão

V F
condição

comandos1 comandos2
Estrutura condicional composta (se/senão)
• Forma geral em pseudocódigo:
se (expressão) então
comando1
comando2
senão
comando3
comando4
fimse

• Se a expressão for verdadeira, os comandos 1 e 2


serão executados; caso contrário, a expressão é falsa
e os comandos 3 e 4 serão executados.
Estrutura condicional composta (if/else) em Python
if (expressão):
comando1
comando2
else:
comando3
comando4

• Se a expressão for verdadeira, os comandos 1 e 2


serão executados; caso contrário, a expressão é falsa
e os comandos 3 e 4 serão executados.
Exemplo 4
• Escreva um algoritmo que leia um número inteiro e imprima uma
mensagem informando se o número é par ou ímpar.
• Algoritmo:

início
inteiro num
escreva ("Digite um número inteiro: ")
leia (num)
se (num % 2 == 0) então
escreva ("O número digitado é par!")
senão
Escreva ("O número digitado é ímpar!")
fimse
fim
Exemplo 4
• Escreva um programa que leia um número inteiro e imprima
uma mensagem informando se o número é par ou ímpar.
• Programa:

num= int(input("Digite um número inteiro: "))

if (num % 2 == 0):
print("O numero digitado eh par!")
else:
print("O numero digitado eh impar!")
Estruturas Condicionais
• Combinando condições
if numero < 10:

print("Número fora do intervalo.")

if numero > 20:

print("Número fora do intervalo.")

if numero < 10 or numero > 20:

print("Número fora do intervalo.")


Estruturas Condicionais
• Combinando condições

if numero >= 10:


if numero <= 20:
print("Número no intervalo.")

if numero >= 10 and numero <= 20:


print("Número no intervalo.")

• Diferente de outras linguagens, Python também aceita:


if 10 <= numero <= 20:
print("Número no intervalo.")
Exemplo 5
• Elabore um programa que, dada a idade de um nadador,
classifica-o em uma das seguintes categorias:   infantil, de 5 a 10
anos; juvenil, de 11 a 17 anos; ou adulto, maior que 18 anos.

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

if idade >= 5 and idade <=10:


print("Categoria infantil!")
if idade > 11 and idade <=17:
print("Categoria juvenil!")
if idade >= 18:
print("Categoria adulto!")
Estrutura condicional aninhada
• Na estrutura condicional composta aninhada, cada teste só é
executado se o anterior houver falhado.

• Estrutura Geral em pseudocódigo:


se (expressão1) então
instruções1
senão se (expressão2) então
instruções2
senão se (expressão3) então
instruções3
senão
instruções4
fimse
Estrutura condicional aninhada em Python

Estrutura Geral:

if(expressão1):
instruções1
elif (expressão2):
instruções2
elif (expressão3):
instruções3
else:
instruções4
Exemplo 5
Voltando ao exemplo:

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


if idade >= 5 and idade <=10:
print("Categoria infantil!")
elif idade >= 11 and idade <=17:
print("Categoria juvenil!")
elif idade >= 18:
print("Categoria adulto!")
else:
print("Muito jovem para nadar!")
Exemplo 6
• Escreva um programa que leia dois números inteiros e imprime
na tela o maior dos dois ou uma mensagem informando que os
dois números são iguais.
num1=int(input("Digite o primeiro número inteiro: "))
num2=int(input("Digite o segundo número inteiro: "))

if num2 > num1:


print ("%d é maior." % num2)
elif num1 > num2:
print ("%d é maior." % num1)
else:
print("Os números são iguais")
Exemplo 7
• Uma empresa concederá um aumento de salário aos
seus funcionários variável de acordo com o cargo
conforme a tabela abaixo. Faça um programa que
leia o salário e o código do cargo de um
funcionário e calcule o novo salário. Se o cargo do
funcionário não estiver na tabela, ele deverá, então,
receber 40% de aumento. Mostre o salário antigo, o
novo salário e a diferença.
Código do Cargo Percentual
101 (Gerente) 10%
102 (Engenheiro) 20%
103 (Técnico) 30%
Exemplo 7
codigo = int(input("Digite o código do cargo: "))
salario = float(input("Digite o salário: "))

if (codigo == 101):
novo = salario + salario * 0.10
elif (codigo == 102):
novo = salario + salario * 0.20
elif (codigo == 103):
novo = salario + salario * 0.30
else:
novo = salario + salario * 0.40

diferenca = novo - salario


print("Antigo = %f" % salario)
print("Novo = %f" % novo)
print("Diferenca = %f" % diferenca)
Estruturas Condicionais de Múltipla Escolha
• Múltiplas escolhas para uma mesma variável:

escolha(variável)
caso valor1: Comandos1
caso valor2: Comandos2
...
caso valorK: ComandosK
padrão: ComandosP
fimescolha

• padrão: caso não seja nenhum dos valores anteriores


Estruturas Condicionais de Múltipla Escolha
• Em Python, não há uma estrutura separada de
múltipla escolha como em C ou Java. Em vez
disso, usa-se a estrutura condicional aninhada.

if variável == valor1:
Comandos1
elif variável == valor2:
Comandos2
...
elif variável == valorK:
ComandosK
else:
ComandosP
Estruturas Condicionais de Múltipla Escolha

tecla = input('Digite uma tecla: ')


if tecla == 'a' or tecla == 'e' or
tecla == 'i' or tecla == 'o' or
tecla == 'u':
print('Uma vogal.')
elif tecla == '$':
print('O cifrão.')
else:
print('Outro caractere.')
Exercícios
• Para ser apta a doar sangue a pessoa deve ter entre 18 e 65 anos e pesar
no mínimo 50kg. Escreva um algoritmo que leia a idade e o peso de uma
pessoa e apresente na tela uma mensagem informando se ela pode ser
doadora ou não.
• Uma determinada companhia aérea só contrata aeromoças que
preencham os seguintes requisitos:
- Ter idade igual ou superior a 24 anos.
- Ter altura igual ou superior a 1.70 m.
- Falar com fluência 2 ou mais idiomas.
Escreva um algoritmo que leia a idade, a altura e a quantidade de idiomas
falados com fluência de uma candidata e imprima uma mensagem
informando se essa candidata atende ou não aos requisitos da companhia
aérea.
• A prefeitura de uma cidade abriu uma linha de crédito para os
funcionários estatutários. O valor máximo da prestação não poderá
ultrapassar 30% do salário bruto. Fazer um programa que permita entrar
com o salário bruto e o valor da prestação, e informar se o empréstimo
pode ou não ser concedido.
Exercícios
• Ajude um proprietário de cachorro a calcular quantos dias um pacote de
ração pode durar. Escreva um programa que leia o peso do cachorro em
quilos e o peso da embalagem de ração em quilos, e calcule e imprima a
quantidade de dias que o pacote de ração irá durar. A tabela abaixo indica
a porção diária de acordo com a faixa de peso do cachorro:
Peso do cachorro em Kg Porções diárias
Até 5 Kg 60g
6 – 10 Kg 95g
11 – 15 Kg 135g
16 – 20 Kg 170g
Acima de 21 Kg 215g
Exercícios
• Em São Paulo, durante um determinado intervalo de horários, veículos
cujas placas terminam em:
1 ou 2: Não podem trafegar na segunda-feira;
3 ou 4: Não podem trafegar na terça-feira;
5 ou 6: Não podem trafegar na quarta-feira;
7 ou 8: Não podem trafegar na quinta-feira;
9 ou 0: Não podem trafegar na sexta-feira;
Escreva um programa que leia a parte numérica da placa de um
carro e imprima uma mensagem adequada informando qual o
dia da semana em que o veículo não pode circular.

Você também pode gostar