A melhor forma de resolver isso é calcular a taxa base primeiro (pela distância) e, só depois, verificar se precisamos aplicar o adicional de chuva.
Algoritmo em Linguagem Natural (Pseudocódigo)
- Início
- Declarar uma variável chamada
TaxaFinale iniciar ela com 0. - Perguntar ao usuário: "Qual a distância da entrega em km?"
- Armazenar a resposta na variável
Distancia. - Perguntar ao usuário: "Está chovendo? (Sim/Não)"
- Armazenar a resposta na variável
Chovendo. - Verificar a Distância (Condições Encadeadas):
- SE
Distancia<= 5 - ENTÃO:
TaxaFinal= 5 - SENÃO SE
Distancia<= 10 - ENTÃO:
TaxaFinal= 8 - SENÃO (Se for maior que 10)
- ENTÃO:
TaxaFinal= 10
- SE
- Verificar a Chuva (Condição Adicional):
- SE
Chovendo== "Sim" - ENTÃO:
TaxaFinal=TaxaFinal+ 2
- SE
- Exibir a mensagem: "O valor final da entrega é R$ " +
TaxaFinal. - Fim
Como o algoritmo funciona (Exemplos)
Exemplo 1: 4 km, Sem Chuva
- Passo 7:
Distancia(4) é <= 5.TaxaFinalvira 5. - Passo 8:
Chovendoé "Não". A condição falha. - Resultado: R$ 5,00.
- Passo 7:
Exemplo 2: 8 km, Com Chuva
- Passo 7:
Distancia(8) não é <= 5. - Passo 7 (SENÃO SE):
Distancia(8) é <= 10.TaxaFinalvira 8. - Passo 8:
Chovendoé "Sim". A condição é verdadeira. - Passo 8 (ENTÃO):
TaxaFinal(que era 8) = 8 + 2.TaxaFinalvira 10. - Resultado: R$ 10,00.
- Passo 7:
Exemplo 3: 15 km, Com Chuva
- Passo 7:
Distancia(15) não é <= 5. - Passo 7 (SENÃO SE):
Distancia(15) não é <= 10. - Passo 7 (SENÃO): O algoritmo cai aqui.
TaxaFinalvira 10. - Passo 8:
Chovendoé "Sim". A condição é verdadeira. - Passo 8 (ENTÃO):
TaxaFinal(que era 10) = 10 + 2.TaxaFinalvira 12. - Resultado: R$ 12,00.
- Passo 7: