Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resolução de Atividades - "06 Desafio: Calculando valor da entrega"


endereço_da_loja = Avenida Liberdade, xxxx
endereço = Pergunte ("Qual é o seu endereço?")

distancia = Processar (endereço_da_loja até endereço)

valor_total = R$0

se distancia < 5km {

    valor_total = valor_total + R$5
}

se distancia < 10km {

    valor_total = valor_total + R$10
}

se distancia >= 10km {

    valor_total = valor_total + R$10
}

caso contrário {

    Exiba ("Digite um endereço válido")
}

se clima == chuvoso {

    valor_total = valor_total + R$2
}

Exiba (valor_total)
2 respostas
solução!

Olá, Victor, como vai?

O seu algoritmo apresenta uma boa base lógica, mas possui pontos de atenção nas condições de distância para que o cálculo seja preciso. No seu código, uma distância de 3km seria somada tanto na primeira quanto na segunda condição, pois 3 é menor que 5 e também menor que 10. Para corrigir isso, o ideal é utilizar estruturas condicionais encadeadas ou definir intervalos exclusivos para cada valor de taxa. Além disso, a regra de negócio solicitava o valor de R$ 8,00 para o intervalo entre 5km e 10km.

Para garantir que apenas uma taxa seja aplicada, o uso de senão se ou a definição de limites ajuda a isolar cada regra. Por exemplo, se a distância for menor que 5, aplica-se uma taxa. Senão, se a distância for menor ou igual a 10, aplica-se outra. Caso seja maior que 10, aplica-se a terceira opção. Isso evita que um mesmo pedido acumule valores de faixas de distância diferentes.

Agradeço por compartilhar sua resolução no fórum e parabéns pelo empenho em praticar a lógica de programação. Continue postando seus progressos e lembre-se que o fórum está sempre à disposição para conversarmos sobre seus projetos ou eventuais dúvidas.

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

Huum, entendi, irei me atentar nas próximas vezes, obrigado =)