Programación recursiva usando Java Script

Programación recursiva en Java Script

La programación recursiva es un concepto que se aplica en cualquier lenguaje de programación. En este artículo vamos a empezar explicando un poco el significado de este concepto y luego vamos a ver algunos ejemplos sencillos utilizando el lenguaje Java Script.

¿Que es la programación recursiva?

Es una técnica utilizada en programación que nos permite que un bloque de instrucciones se ejecute un cierto número de veces (el que nosotros determinemos).
En otras palabras más sencillas, la programación recursiva es cuando en Java Script o cualquier otro lenguaje una función se llama a sí misma. Gracias a esto podemos resolver distintos problemas sin necesidad de utilizar las iteraciones.

Ejemplo de recursividad en java Script

Vamos a empezar con un código muy sencillo donde se calcula el factorial de un número determinado:

function factorial(n){
  resultado = 1;
  for(i = 1; i < n; i++){
    resultado = resultado * i;
  }
  return resultado;
}

En la función anterior se puede ver como se calcula el factorial de un número determinado utilizando la estructura de control for. Esta sería la solución más simple, sin utilizar la programación recursiva.

Ahora sí, para realizar la misma función utilizando la programación recursiva tendríamos que hacerlo de la siguiente manera:

function factorial(n){
  if(n > 1){
    return factorial(n - 1) * n;
  }
  return n;
}

En el código anterior podemos ver como se realiza la función factorial sin utilizar las estructuras de control for o while, únicamente utilizando la programación recursiva. De esta manera se puede ver como la función factorial se llama a sí misma, esto permite ir multiplicando el número pasado por parámetro por el número anterior hasta que sea igual a 1.

Por ejemplo en la ejecución de factorial(4) se llamaría 4 veces a sí misma y el proceso de ejecución sería el siguiente:

Llamada 1 (llamada inicial): factorial(4)

Llamada 2: factorial(4 – 1) * 4

Llamada 3: (factorial(3 – 1) * 3) * 4

Llamada 4: ((factorial(2 – 1) * 2) * 3) * 4

Resultado: ((1 * 2) * 3) * 4 = 24

Espero que se haya entendido el concepto de la programación recursiva y es importante recordar que esta técnica se puede aplicar en muchos lenguajes de programación.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *