Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2008, 19:41
asche
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Funciones Recursivas

hola, estoy aprendiendo php , leyendo el manual imprescindible de php5. la verdad me parece bastante claro, exepto cuando pone ejemplos con numeros factoriales, me re mezclo, ni se lo que es un numero factorial, menos voy a entender una funcion recursiva que cree numeros factoriales.

les pego aca el ejemplo de funciones recursivas que tengo en el manual, no lo logro terminar de entender, como puede ser qe dentro de una funcion llame a esa misma funcion si ni la termine de escribir?



Código HTML:
RECURSIVIDAD
El paradigma de la programación nos lleva a los desarrolladores a inventar
fórmulas que minimicen el esfuerzo en nuestros programas pecando,
106 Capítulo 5
algunas veces, de complejidad. Las funciones recursivas son aquellas capaces
de llamarse a sí mismas. Como único requisito es que haya una forma
de salir en la llamada recursiva. Si volvemos al ejemplo del número
factorial nos encontramos en que se puede escribir de la siguiente forma:
<?php
function factorial($numero)
{
if ($numero == 1) {
return $numero;
} else {
return $numero * factorial($numero-l);
}
}
echo "El factorial de 7 es ". factorial(7) ." <br>";
?>
Lo primero que llama la atención es que carece de un bucle f or para ir
disminuyendo los números implicados en el factorial. Lo que hace la función
es multiplicar el número que se pasa por el factorial del número-1. Si
el número que se pasa es igual a 1, la función deja de hacer llamadas recursivas
y comienza a devolver los valores hasta llegar al resultado final.

Alguien me lo puede explicar de una manera mas simple? con un ejemplo mas practico y entendible


muchas gracias