Funciones Recursivas

Hola de nuevo.

Dicho y hecho, en esta entrega hablaremos sobre las funciones recursivas. Todos aquellos que ya tienen conocimientos sobre programación, saben perfectamente que la recursividad puede en ocasiones un arma de doble filo.

Pero antes que nada, expliquemos lo que una función recursiva es: Una función recursiva es una función que se llama a si misma, tan sencillo como eso.

Ahora bien, ¿por qué es una arma de doble filo?, si una función recursiva no se construye de forma adecuada, podría terminar en ciclo sin fin (como las promesas de los candidatos políticos) y echar a perder nuestra aplicación, amén de sobrecargar la memoria de nuestra computadora. Una función recursiva, si fuese necesario hacer una comparación, se comporta de forma muy similar a un ciclo WHILE, en la que debemos poner una condición a cumplirse, de tal manera que el ciclo termine, de lo contrario, el ciclo continuaría indefinidamente.

Así pues, dicho lo anterior, hagamos un pequeño y sencillo ejercicio de recursividad, ¿les parece?

Imaginemos esta situación:
Tenemos un arreglo de la siguiente forma:
$arreglo = array("hola", "adios", array("hello", "good bye"), "salut");

Y necesitamos imprimir en pantalla todos los componentes o elementos del arreglo por medio de una función recursiva. ¿Cómo lo haríamos?

Antes de ver el código que conforma nuestra página recursividad.php (preocupante, lo sabemos), ¿Que tal si lo intentan?

Bien, nuestro código sugerido es:

<?php

$arreglo = array("hola", "adios", array("hello", "good bye"), "salut");

mostrar($arreglo);

function mostrar($arreglo){

for($i = 0; $i <count($arreglo); $i++){

$parte = $arreglo[$i];

if(gettype($parte) == "array"){

mostrar($parte);
}

else{

echo $parte."<BR>";

}

}

}

?>

Nos permitimos dirigir su atención a la delicada forma en la que hemos escrito “sugerido”, ya que, las soluciones para un problema en programación pueden ser realmente muy variadas.

Ahora bien, el resultado de nuestro código es el siguiente:

Muy bien, no nos resta más que, una vez más recomendarles prudencia en el uso de las funciones recursivas, sobre todo, tomando en cuenta que siempre hay que poner una condición para que la función deje de llamarse a si misma y evitar de esa manera un estancamiento en nuestra computadora.

Hasta Pronto.

 

¿Te gustó? Pues comparte ;-)
Este sitio usa cookies para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Ninguna cookie será instalada a menos que se desplace exprésamente más de 600px. Leer nuestra Política de Privacidad y Política de Cookies. Las acepto | No quiero aprender cursos gratis. Sácame