Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] como puedo mejorar los ciclos y usar menos

he hecho un ejercicio propuesto con condicionales pero quisiera saber si es posible optimizar esta forma de crear las condiciones, estuve investigando el ciclo switch pero es poco usado y no es de las mejores formas para tener buenas practicas codeando

<meta charset="utf-8">
<script>
        function salto (){
    document.write("<br>");

    }

    function imprimir(texto) {
        document.write(texto);
        salto();
    }
        var numpedido = parseInt(prompt("ingrese su nota"));

        //*aqui se analizara la nota y mostrara su calificacion segun el rango 0-3: Muy deficiente 3-5 Insuficiente 5-6 Suficiente 6-7 Bien 7-9 Notable 9-10 Sobresaliente*//

        if (numpedido<=3) {
            imprimir("nota muy insuficiente");
        } else {
            if(numpedido<=5){
                imprimir("nota insuficiente");
            } else{
                if(numpedido<=6){
                    imprimir("nota suficiente");
                }else{
                    if (numpedido<=7) {
                        imprimir("buena nota");
                    }else{
                        if (numpedido<=9) {
                            imprimir("tus notas son notables");
                        }else{
                            if (numpedido==10) {
                                imprimir("nota sobresaliente");
                            }
                        }
                    }
                }
            }
        }
</script> 
1 respuesta

Hola, te prpongo esta solucion:

<meta charset="utf-8">
<script>
        function salto (){
    document.write("<br>");

    }

    function imprimir(texto) {
        document.write(texto);
        salto();
    }
        var numpedido = parseInt(prompt("ingrese su nota"));

        //*aqui se analizara la nota y mostrara su calificacion segun el rango 0-3: Muy deficiente 3-5 Insuficiente 5-6 Suficiente 6-7 Bien 7-9 Notable 9-10 Sobresaliente*//

        if(numpedido <= 3){ //nota menor que 3 = muy deficiente
            imprimir("Nota muy deficiente");
        }else if(numpedido <=4 && numpedido <=5){ //entre 4 y 5(inclusive) nota insuficiente
            imprimir("Nota insuficiente");
        }else if(numpedido ==6){//nota 6 -> nota suficiente
            imprimir("Nota Suficiente");
        }else if(numpedido >6 && numpedido <=8){ //entre 7 y 8(inclusive) nota buena
            imprimir("Nota buena");
        }else if(numpedido ==9){ //nota 9 -> nota notable
            imprimir("Nota notable");
        }else{
            imprimir("Nota sobresaliente!"); //nota mayor que  9 -> nota sobresaliente
        }

He modificado un poco los limites para determinar la categoria de la nota, ya que de la forma que lo planteas se chocan entre si, por ejemplo el 5 no puede ser una nota suficiente e insuficiente a la vez. Espero te sirva de ayuda!