1
resposta

[Dúvida] 6 Desafio: Calculando valor da entrega

Olá, tudo bem?
Fiquei em dúvida sobre:
A sequencia de SE e SENÃO, se estão corretas.
Tive dificuldade em imaginar como calcular a distância entre a loja e o endereço. Queria inserir uma variável distância_loja e "subtrair" do endereço do cliente, mas não acho que daria certo.

//início

input(endereço)

km = (distancia entre loja e endereço)
chuva = (True ou FALSE)

SE km < 5,
taxa = 5,00

SE SENÃO km > 5 OU km = < 10,
taxa = 8,00

SE NÃO km > 10,
taxa = 10,00

SE chuva = True,
taxa _final = taxa + 2,00

Output(taxa_final)

//fim
```

1 resposta

Olá, Tatiane, tudo bem?

A estrutura Entrada → Processamento → Saída está correta, e isso é o mais importante.

Sobre a distância, em lógica de programação usamos abstração. Não é preciso calcular GPS ou endereços agora. Basta assumir que a distância já chega pronta, pois é muito usado API do google e afins. Usar input(distancia_km) deixa o raciocínio mais simples.

Na sequência de SE e SENÃO, o cuidado principal é com as condições. Usar OU em km > 5 OU km <= 10 gera erro, porque valores maiores que 10 também passam nessa regra. O ideal é encadear as condições com SENÃO SE, aproveitando a ordem das verificações.

O algoritmo pode ficar assim:

// Entrada
Ler distancia_km
Ler chuva

// Taxa base
SE distancia_km <= 5 ENTÃO
    taxa = 5.00
SENÃO SE distancia_km <= 10 ENTÃO
    taxa = 8.00
SENÃO
    taxa = 10.00
FIM_SE

// Adicional de chuva
SE chuva == Verdadeiro ENTÃO
    taxa = taxa + 2.00
FIM_SE

Exibir taxa

Separar o adicional de chuva foi uma ótima decisão. Continue praticando.

Bons estudos!

Sucesso

Imagem da comunidade