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

Desafio 3

Que opinan de este código veo que muchos lo hicieron con for, creen que este código no están efectivo como el que usa for.

var A=1;
function tabla (X) {
var C=X*A;
if (A===12) {
console.log(X+'x'+A+'='+C);
}
else {
console.log(X+'x'+A+'='+C);
A=A+1;
tabla(X)
}

}
tabla(5);

1 respuesta

¡Hola, Deivid, espero que estés bien!

Tu código utiliza recursión para imprimir la tabla de multiplicar del número que pasas como argumento a la función tabla. Aunque es menos común ver la recursión en este tipo de problemas, es una solución válida y efectiva.

Comparado con un bucle for, tu enfoque tiene algunas diferencias:

  1. Legibilidad: El uso de un bucle for suele ser más intuitivo para la mayoría de las personas cuando se trata de iteraciones simples como esta. La recursión puede ser menos clara para quienes no están familiarizados con el concepto.

  2. Eficiencia: En términos de eficiencia, ambos enfoques son similares para este caso específico. Sin embargo, la recursión puede consumir más memoria debido a la pila de llamadas, especialmente en lenguajes que no optimizan la recursión de cola.

  3. Control de flujo: La recursión puede ser más flexible y poderosa en problemas donde el número de iteraciones no es fijo o cuando el problema se descompone naturalmente en subproblemas más pequeños.

Aquí tienes un ejemplo de cómo se vería el mismo problema usando un bucle for:

function tabla(X) {
    for (let A = 1; A <= 12; A++) {
        let C = X * A;
        console.log(X + 'x' + A + '=' + C);
    }
}
tabla(5);

Ambos enfoques son correctos, y elegir uno sobre el otro puede depender de tus preferencias personales o de las necesidades específicas del problema que estés resolviendo.

Espero haber aclarado tus dudas y que sigas disfrutando del aprendizaje.

Sugerencia: comparte tus ejercicios en el servidor Discord de tu grupo, así mantenemos el foro enfocado en dudas/quejas ;)

¡Buenos estudios!