2
respuestas

Aplique algo mas que aprendi utilizando while, for e if. Pero tengo una duda.

ES buena practica utilizar while dentro de for? si no lo es, como puedo afrontarlo?

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    /*Tabla Multiplicar*/
    
    let multiplicador = 0;
    let multiplicando1 = 0;

    function tablaMultiplicar(){
        for(let multiplicando = 1; multiplicando != 11; multiplicando++){
            multiplicando1++;
            document.write(`<h3>Esta es la tabla del ${multiplicando}:</h3>`);
            document.write(`<br>`);
            while(multiplicando === multiplicando1){
                document.write(`${multiplicando} X ${multiplicador} = ${multiplicando * multiplicador}.`);
                multiplicador++;
                document.write(`<br>`);
                if(multiplicador === 11){
                    multiplicador = 0;
                    break;
                }
            }
        }

    }

        tablaMultiplicar();



</script>
2 respuestas

¡Hola Jose, espero que estés bien!

Es una buena pregunta. En cuanto a tu duda, no hay una respuesta definitiva. La práctica de utilizar un bucle while dentro de un bucle for puede ser útil en algunos casos, pero en general se recomienda evitarlo si es posible. Esto se debe a que puede complicar el código y hacerlo más difícil de entender y mantener. Es posible usar otro for dentro del primero for, por ejemplo.

En tu caso específico, estás utilizando un bucle while dentro de un bucle for para imprimir la tabla de multiplicar. Una forma más sencilla de abordar esto sería utilizar solo un bucle for y calcular el resultado directamente dentro del bucle. Aquí te muestro un ejemplo:

function tablaMultiplicar(numero) {
  for (let multiplicador = 1; multiplicador <= 10; multiplicador++) {
    let resultado = numero * multiplicador;
    document.write(`${numero} por ${multiplicador} es ${resultado}.<br>`);
  }
}

tablaMultiplicar(5); // Para la tabla del 5
tablaMultiplicar(8); // Para la tabla del 8

De esta manera, puedes calcular la tabla de multiplicar para cualquier número simplemente llamando a la función tablaMultiplicar con el número deseado como argumento.

Además, es posible usar la misma función dentro de un segundo bucle for, por ejemplo:

    for (let numero=1; numero<=10; numero++){
        tablaMultiplicar(numero); // Para las tablas de 1 al 10
    }

Espero que esto te ayude a resolver tu duda. Si tienes alguna otra pregunta, no dudes en preguntar. ¡Buena suerte con tus estudios!

¡Espero haberte ayudado y buenos estudios!

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!

Muchas gracias!