Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Introdução à Programação
Comando Condicional Erros Comuns
2
Programa O posto de combustível da cidade reajustou seus preços: o litro da gasolina agora custa R$ 2,78, enquanto o do etanol custa R$ 2,29, e o do óleo diesel custa R$ 2,23. Escreva um programa que receba como entrada o tipo de combustível e a quantidade de litros desejada e exiba o valor a ser pago. 2
3
Exemplo 01 – Ifs independentes
precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) if (combustivel == "gasolina"): totalPagar = precoGasolina * litros if (combustivel == "etanol"): totalPagar = precoEtanol * litros if (combustivel == "diesel"): totalPagar = precoDiesel * litros print("O valor a ser pago é R$", totalPagar) 3
4
Exemplo 01 – Ifs independentes
Problema Alguns testes desnecessários serão feitos Se o tipo for gasolina, não há necessidade de testar se é etanol nem se é óleo Quando as condições são mutuamente excludentes (escolher uma implica em descartar as demais), o ideal é usar if-elif-else 4
5
Exemplo 02 – Ifs independentes com else
precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) if (combustivel == "gasolina"): totalPagar = precoGasolina * litros if (combustivel == "etanol"): totalPagar = precoEtanol * litros else: totalPagar = precoDiesel * litros print("O valor a ser pago é R$", totalPagar) 5
6
Exemplo 02 – Ifs independentes com else
Problema O else não se aplica a todos os ifs, apenas ao segundo Ou seja, se o combustível escolhido for gasolina, o primeiro if será executado e, na continuação, o else também Isso costuma ocorrer quando condições que deveriam ser relacionadas são tratadas de forma independente 6
7
Exemplo 03 – Instruções Repetidas
precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) if (combustivel == "gasolina"): totalPagar = precoGasolina * litros print("O valor a ser pago é R$", totalPagar) elif (combustivel == "etanol"): totalPagar = precoEtanol * litros else: totalPagar = precoDiesel * litros 7
8
Exemplo 03 – Instruções Repetidas
Problema A instrução print é idêntica no if, no elif e no else, indicando que ela sempre será executada Nesses casos, a instrução deve ficar fora do Comando Condicional 8
9
Exemplo 04 – Cálculos Antecipados
precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) custoGasolina = precoGasolina * litros custoEtanol = precoEtanol * litros custoDiesel = precoDiesel * litros if (combustivel == "gasolina"): totalPagar = custoGasolina elif (combustivel == "etanol"): totalPagar = custoEtanol else: totalPagar = custoDiesel print("O valor a ser pago é R$", totalPagar) 9
10
Exemplo 04 – Cálculos Antecipados
Problema Todos os cálculos são feitos previamente antes que se saiba quais deles serão realmente necessários Dessa forma, o desempenho do programa acaba prejudicado O ideal seria realizar os cálculos apenas sob demanda 10
11
Solução ideal precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) if (combustivel == "gasolina"): totalPagar = precoGasolina * litros elif (combustivel == "etanol"): totalPagar = precoEtanol * litros else: totalPagar = precoDiesel * litros print("O valor a ser pago é R$", totalPagar) 11
12
Mudança no Programa Modifique agora o programa anterior, sabendo que clientes que abastecerem mais de 30 litros de qualquer combustível ganham uma troca de óleo 12
13
Exemplo 05 – Combinação de condições
if (combustivel == "gasolina") and (litros > 30): totalPagar = precoGasolina * litros print("Você ganhou uma troca de óleo!") elif (combustivel == "gasolina") and (litros <= 30): print("Você não ganhou uma troca de óleo!") elif (combustivel == "etanol") and (litros > 30): totalPagar = precoEtanol * litros elif (combustivel == "etanol") and (litros <= 30): elif (combustivel == "diesel") and (litros > 30): totalPagar = precoDiesel * litros else: 13
14
Exemplo 05 – Combinação de condições
Problema Se as condições não estão relacionadas (não há influência de uma sobre a outra), não faz sentido combiná-las Além de deixar o código muito maior e cheio de instruções repetidas, esse tipo de codificação torna complexa a compreensão 14
15
Solução ideal precoGasolina = 2.78 precoEtanol = 2.29 precoDiesel = 2.23 combustivel = str.lower(input("Qual o tipo de combustível escolhido? ")) litros = float(input("Quantos litros você deseja? ")) if (combustivel == "gasolina"): totalPagar = precoGasolina * litros elif (combustivel == "etanol"): totalPagar = precoEtanol * litros else: totalPagar = precoDiesel * litros if (litros >= 30): print("Você ganhou uma troca de óleo!") print("Você não ganhou uma troca de óleo!") print("O valor a ser pago é R$", totalPagar) 15
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.