1
resposta

[Projeto] Desafio: Calculando valor da entrega

distancia = obter(distancia)
estaChovendo = obter(estaChovendo)
taxa = 0

se(distancia < 5):
    taxa = 5
se(distancia >= 5 && distancia <= 10):
    taxa = 8
se(distancia > 10):
    taxa = 10
se(estaChovendo):
    taxa += 2

exibir("Sua taxa: " + taxa)
1 resposta

Olá, Pedro!

Parabéns por concluir o desafio Calculando valor da entrega.

Sua solução aborda muito bem a lógica de negócio. A divisão das faixas de distância está correta, e a verificação da variável booleana estaChovendo para aplicar um acréscimo cumulativo (taxa += 2) demonstra uma ótima percepção de como regras condicionais independentes podem se somar para construir o resultado final.

Como ponto de observação para o aprimoramento da escrita da lógica, note que você utilizou três blocos se seguidos para verificar a distância. Quando usamos estruturas isoladas, o computador é obrigado a testar todas as perguntas, mesmo que a primeira já tenha sido verdadeira. No desenvolvimento de softwares, preferimos encadear essas condições usando a estrutura senão se, o que poupa processamento e deixa a leitura mais limpa.

Veja como essa organização em cascata ficaria estruturada:

se (distancia < 5):
    taxa = 5
senão se (distancia <= 10):
    // Como o primeiro "se" eliminou os menores que 5, 
    // aqui testamos apenas o limite superior
    taxa = 8
senão:
    // Se não for menor que 5 e nem menor ou igual a 10,
    // com certeza a distância é maior que 10
    taxa = 10

Essa forma de encadeamento aproveita a exclusão mútua das condições, tornando o fluxo de tomada de decisão do sistema mais limpo.

Na sua visão, você acredita que utilizar o senão se deixa a intenção do código mais clara em comparação com vários blocos se independentes?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!