1
resposta

Desafio: Calculando valor da entrega

Algoritmo em linguagem natural:

O sistema começa coletando duas informações: a distância em quilômetros até o endereço do cliente, armazenada em distancia, e se está chovendo, armazenada como booleano em chovendo.

Na etapa de processamento, o algoritmo avalia a distância em cascata. Primeiro verifica se distancia <= 5 — sendo verdadeiro, taxa_base recebe 5. Caso contrário, verifica se distancia <= 10 — sendo verdadeiro, taxa_base recebe 8. Se nenhuma das duas condições for satisfeita, significa que a distância ultrapassa 10 km e taxa_base recebe 10.

Depois disso, independentemente da faixa de distância, o algoritmo verifica a condição de chuva. Se chovendo == verdadeiro, soma 2 à taxa base, atribuindo o resultado a taxa_final. Caso contrário, taxa_final simplesmente assume o mesmo valor de taxa_base.

Por fim, o sistema exibe a mensagem com o valor calculado.

Um ponto importante dessa solução é a ordem das verificações de distância. Usar condições em cascata com senão se garante que apenas uma faixa seja aplicada, evitando conflitos. Além disso, separar taxa_base de taxa_final deixa o algoritmo mais legível e facilita futuras manutenções — se a taxa de chuva mudar de R$ 2,00 para outro valor, basta alterar um único ponto do código.

1 resposta

Olá, Rômulo. Como vai?

Sua explicação sobre a estrutura em cascata foi cirúrgica! Você descreveu com precisão o que chamamos de encadeamento de condicionais, que é a forma mais eficiente de lidar com faixas de valores sem que uma condição "atropele" a outra.

O grande destaque da sua solução é a modularização do cálculo. Ao separar a definição da taxa_base da verificação da chuva para gerar a taxa_final, você aplicou um princípio de organização que torna o código muito mais fácil de manter. Se amanhã a empresa decidir que a chuva não soma mais um valor fixo, mas sim uma porcentagem, sua estrutura permite essa alteração de forma isolada e segura.

Para agregar ainda mais valor ao seu raciocínio, deixo alguns pontos técnicos interessantes:

  • Ordem de Grandeza: Como você bem notou, começar pela menor distância e usar o "senão se" cria uma exclusão lógica. Se a distância for 3km, o código para no primeiro bloco; se for 7km, ele só chega no segundo bloco porque o primeiro foi falso.
  • Variáveis Booleanas: O uso da variável chovendo como um booleano (verdadeiro/falso) é a maneira mais limpa de tratar estados binários na programação, facilitando a leitura da condição Se chovendo == verdadeiro.
  • Escalabilidade: Com essa estrutura, se a cafeteria decidir criar uma taxa nova (como "taxa de horário de pico"), bastaria adicionar mais um bloco de processamento antes de exibir a taxa_final.

Sua didática para explicar como variáveis com papéis diferentes interagem entre si é excelente e ajuda muito os outros alunos a visualizarem o fluxo dos dados!

Espero que possa ter lhe ajudado!