Entendiendo el concepto de recursividad

¿Qué es la recursividad?

La recursividad es el nombre que recibe el concepto de llamar a una función determinada desde dentro de si misma.

 

 

 

 

Digiriendo el concepto de “recursividad” con ejemplos de la vida real

En un pensamiento más humano, podríamos decir que el concepto sería llamarnos nosotros mismos a nosotros mismos desde un teléfono.

Otro caso que se me ocurre, sería el concepto de eco cuando nos metemos en una cueva y decimos una vez hola y se va repitiendo sucesivamente.

 

 

 

 

Recursividad en programación

Vamos a ver un ejemplo de recursividad en Java. En dicho ejemplo, estamos llamando a una función llamada saludo a la que le pasamos 2 parámetros. Ambos valores son integer, uno llamado valorInicial y otro valorFinal. En este caso, lo que vamos a hacer es mostrar un mensaje por consola tantas veces como la diferencia entre ambos parámetros.

El resultante al realizar la ejecución será:

Para trabajar con estos ejemplos es necesario mostrar el resultado con funciones con retorno a void. Si utilizaremos el clásico return por ejemplo de un String, una vez imprimido el resultado, se finalizará la ejecución de la función y por tanto, no podremos volver a llamar a nuestra función nuevamente y no existiría la recursividad.

Vamos a ver otro ejemplo que nos muestre tablas de multiplicar:

El resultante al realizar la ejecución será:

Aunque hemos realizado lo mismo que en el ejemplo anterior, nos servirá para afianzar un poco ver otro ejemplo más sobre esta técnica de resolución de problemas particulares y que podremos utilizar como alternativa a las estructuras de repetición (ciclos).

En otros artículos continuaremos hablando más sobre recursividad, más detalladamente sobre varios aspectos, como son los tipos de la recursividad (directa e indirecta), beneficios que tiene, etc. Profundizando más en este concepto. Pero el objetivo del artículo, simplemente era el acercamiento al concepto, espero que os haya servido para conocerla un poquito más. Un saludo javer@s! 🙂

4 comentarios

  1. Noemi Lara Acono

    18 febrero, 2020 a las 20:00

    Hola, en el segundo ejemplo hay return pero no hay recursividad.
    ¡Saludos!

    • admin

      6 junio, 2020 a las 13:06

      Cierto Noemi, disculpa el fallo y muchas gracias por el reporte. Aprovecho para decirte que ya está arreglado y para comentarte que también he añadido otro ejemplo. Un saludo 🙂

  2. Hello there! I know this is kind of off topic but I was
    wondering if you knew where I could get a captcha plugin for my comment form?

    I’m using the same blog platform as yours and I’m having problems finding one?
    Thanks a lot!

  3. Nice weblog right here! Additionally your website a lot up very fast!
    What host are you using? Can I get your associate hyperlink in your host?
    I wish my website loaded up as fast as yours lol

Deja una respuesta

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

La Ley 34/2002 nos obliga a avisarte de que usamos cookies propias y de terceros con objetivos estadísticos y de sesión y para mostrarte la 'publi' que nos da de comer. Tranquilo, este mensaje solo sale una vez. Más información

Java desde 0 comunica a los usuarios, a través de este aviso, que puede utilizar cookies cuando el usuario navega por las diferentes pantallas y páginas del sitio. Durante el uso de nuestra página Web usted acepta y autoriza expresamente el uso de cookies, de acuerdo con nuestra Política de Privacidad. Este sitio web utiliza las siguientes cookies propias: - Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el spam. Este sitio web utiliza las siguientes cookies de terceros: - Google AdManager y AdSense: Utiliza cookies para mejorar la publicidad. Entre otros fines, suelen utilizarse para segmentarla según el contenido que sea relevante para los usuarios o su ubicación, mejorar los informes de rendimiento de las campañas y evitar mostrar anuncios que los usuarios ya hayan visto. Las cookies no contienen información personal identificable. Consulta cómo utiliza Google la información de sitios web o aplicaciones. y cómo bloquear determinados anuncios. - Google Analytics: Almacena cookies para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google. - Redes sociales: Cada red social utiliza sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.

Cerrar