Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

veo que funciona correctamente

let porcentajeDescuento = 0;

let cantidadMillas = prompt("Ingrese la cantidad de millas");

if (cantidadMillas > 30000) { alert(porcentajeDescuento = 20);

} else if (cantidadMillas > 5000) { alert(porcentajeDescuento = 10); }else { alert(porcentajeDescuento = 0); }

A mi parecer el codigo funciona correctamente, la opciones que dan no me parecen que esten correcta

4 respuestas
   let porcentajeDescuento = 0;

    let cantidadMillas = prompt("Ingrese la cantidad de millas: ");

    if (cantidadMillas > 30000) {
        porcentajeDescuento = 20;	
    } else if (cantidadMillas > 5000) {
        porcentajeDescuento = 10;	
    } else {
        porcentajeDescuento = 0;
    }
    alert(porcentajeDescuento);

Que tal compañero de hecho la opción D si es correcta, sin embargo el codigo que nos supone un "Error" tamién es correcto, para avanzar la opción D es correcta

 let porcentajeDescuento = 0;

    let cantidadMillas = prompt("Ingrese la cantidad de millas: ");

    if (cantidadMillas > 30000) {
        porcentajeDescuento = porcentajeDescuento + 20;
    } else {
        if (cantidadMillas > 5000) {
            porcentajeDescuento = porcentajeDescuento + 10;
        }
    }
    alert(porcentajeDescuento);

Hola, te comento la razón del porqué ese código que nos muestran piensas que está erróneo, prácticamente es lo mismo, en un proyecto mayor, existe la complejidad algorítmica, eso se traduce en tiempo de respuesta. Con base a ello tu tienes un proceso adicional que hace que se analicen 3 procesos, en el que ellos nos dan, pasa el primer filtro y si no es correcto valida con el if anidado. Para este caso, no es tan relevante pero es importante conocer esto a la hora de generar una solución, buscando siempre sea eficiente. Te recomiendo investigar, ya que es algo muy solicitado en el mundo tech. Saludos.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

ok, ahora lo que entiendo es que, mas que errores en el codigo original eran mas bien faltas de buenas practicas de programacion, porque he ejecutado varias veces el codigo original y ninguna vez me ha dado error, nunca le ha dado mas descuento a los que tengan mas de 30000 millas, siempre le ha dado 10% de descuento a los de mas de 5000 millas, y cero a los que tengan 5000 millas o menos, que es redundante el else, si, que en el caso de que tengas 35000 millas por ejemplo estas cumpliendo dos condiciones, tambien es cierto, pero por lo mismo se usa un else if, que el codigo modificado es mas eficiente y mas limpio, si, pero que el codigo original tenga errores, no, no se si estoy equivocado, pero no veo la falla en el codigo original mas alla de lo que dije, que el codigo modificado sea mas limpio.

Llegue al foro con la misma duda que Luis, parece un error de sintaxis del ejercicio