Olá, Wagner. Como vai?
O desenho do seu algoritmo está muito bem estruturado! Você conseguiu separar perfeitamente as três fases essenciais de qualquer programa: a entrada de dados, o processamento da lógica e a saída do resultado.
Para transformar esse planejamento em um código funcional, precisamos apenas ajustar um pequeno detalhe na lógica das suas faixas de distância. Da forma como está descrito, existem algumas sobreposições e brechas (por exemplo, se a distância for exatamente 10km ou maior que 10km).
Uma correção comum na lógica de programação para essas regras de negócio seria estruturar as condições desta maneira:
- Distância menor ou igual a 5km: R$ 5,00
- Distância maior que 5km e menor ou igual a 10km: R$ 8,00
- Distância maior que 10km: R$ 10,00
Para ajudar a visualizar isso na prática, veja um exemplo de como implementar esse fluxo completo utilizando uma estrutura condicional em pseudocódigo (ou lógica linear):
// Entrada de dados
distancia = ler_numero("Digite a distância em km: ")
chovendo = ler_booleano("Está chovendo agora? (True/False): ")
// Processamento da distância
Se distancia <= 5 Entao
valor_base = 5.00
Senao Se distancia <= 10 Entao
valor_base = 8.00
Senao
valor_base = 10.00
FimSe
// Processamento da taxa de chuva
Se chovendo == True Entao
valor_total = valor_base + 2.00
Senao
valor_total = valor_base
FimSe
// Saída
Escrever("O valor total da entrega é: R$ " + valor_total)
Dica de boa prática: Note que no segundo teste (distancia <= 10), nós não precisamos testar novamente se ela é maior que 5. Como o programa lê de cima para baixo, se o código chegou até aquela linha, é porque o valor com certeza já é maior que 5. Isso economiza processamento e deixa a leitura do código mais limpa!
Parabéns por encarar o desafio e estruturar o pensamento lógico dessa forma.
Espero que possa ter lhe ajudado!