Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Resposta 3.18 d

Neste exercicio nao teria que tirar 5 para multiplicar por 0.5? o instrutor só multiplicou! dae eu n sei se o meu tá certo.

const frete = function(Km) {
    if (Km <= 5) {
        console.log('R$5')
    } if (Km > 20) {
        console.log('R$20')
    } if (Km > 5 && Km < 20) {
        let calculaKm = (Km - 5) / 2 + 5 
        console.log(`R$${calculaKm}`)
    }
}
frete(18);

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi Ian! Como vai?

Com base nas regras fornecidas, a lógica para calcular o frete para distâncias entre 5.1 km e 20 km é cobrar R$ 0,50 por quilômetro além dos 5 km iniciais.

No seu código, você está subtraindo 5 km da distância total e multiplicando o restante por 0,5, o que está correto. No entanto, parece que você está adicionando 5 ao resultado final, o que não é necessário, pois o frete para os primeiros 5 km já foi cobrado na condição anterior.

Vamos ajustar a função para que ela reflita corretamente as regras do exercício:

const frete = function(Km) {
    if (Km <= 5) {
        console.log('R$5');
    } else if (Km > 20) {
        console.log('R$20');
    } else if (Km > 5 && Km <= 20) {
        let calculaKm = (Km - 5) * 0.5;
        console.log(`R$${calculaKm}`);
    }
}

frete(18); // Deve imprimir R$6.5

Com essa alteração, a função calcula corretamente o frete para distâncias entre 5.1 km e 20 km, sem adicionar um valor fixo de 5. Espero que isso esclareça sua dúvida!

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.