Olá, Rafael. Como vai?
Excelente iniciativa ao resolver o desafio! O pensamento computacional é justamente sobre essa habilidade de decompor um problema complexo em regras menores e organizá-las em uma sequência lógica que o computador consiga processar.
A estrutura de decisão que você montou está muito clara. Para complementar o seu raciocínio, uma boa prática na programação é pensar na ordem das condições para que o código seja eficiente e não execute verificações desnecessárias.
Podemos representar a sua lógica através deste pseudocódigo, que ajuda a visualizar como as variáveis interagem:
// Entrada de dados
distancia = valor_recebido
estaChovendo = verdadeiro_ou_falso
// Definindo a taxa base com base na distância
Se distancia <= 5:
taxaBase = 5
Senão se distancia < 10:
taxaBase = 8
Senão:
taxaBase = 10
// Aplicando a condição extra da chuva
Se estaChovendo == verdadeiro:
valorTotal = taxaBase + 2
Senão:
valorTotal = taxaBase
Exibir valorTotal
Um ponto importante de atenção na lógica: note que você usou >5km e <10km. Na programação, precisamos garantir que o valor 10 também seja incluído em alguma das faixas (usando <= ou >=), caso contrário, se a entrega for exatamente de 10km, o sistema poderia ficar sem saber qual taxa aplicar.
O seu uso da estrutura If/Else para a variável de chuva foi o toque final perfeito para tornar o algoritmo dinâmico e condizente com situações do mundo real.
Espero que possa ter lhe ajudado!