Foros del Web » Programando para Internet » PHP »

Funciones Recursivas

Estas en el tema de Funciones Recursivas en el foro de PHP en Foros del Web. hola, estoy aprendiendo php , leyendo el manual imprescindible de php5. la verdad me parece bastante claro, exepto cuando pone ejemplos con numeros factoriales, me ...
  #1 (permalink)  
Antiguo 09/07/2008, 19:41
 
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
  #2 (permalink)  
Antiguo 09/07/2008, 20:20
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Respuesta: Funciones Recursivas

no prestes tanta atencion a la factorizacion, ya uqe eso es matematica, al caso tendrias uqe recurrir a un profesor de matematicas o en la escuela prestar atencion jaja

una funcion recursiva como bien dice es la uqe se puede llamar a si mismo, entonces un ejemplo simple para uqe lo entiendas es el siguiente que se me ocurrio ahora, muy simple!

Código PHP:
function bajar($numero)
{
    if(
$numero == 0) {
        echo 
"Ya llegamos a 0, terminamos de bajar";
    } else {
        echo 
"Estamos por el ".$numero."<br />";
        
bajar($numero-1);
    }
}

bajar(5);//Llamo la funcion por primera vez 
lo que hace esta funcion es bajar desde el numero que vos le pones hasta el 0, y bueno, va escribiendo en que numero va pasando a medida que se va "autollamando"

no soy muy bueno explicando hago lo que puedo ajaja

pero intenta analizarla y cualquier cosa avisanos como te fue
saludos
  #3 (permalink)  
Antiguo 09/07/2008, 20:52
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Funciones Recursivas

muchas gracias!, ahi voy mejorando igual no termine de entenderlo del todo, ahora lo voy a seguir carburando y probando, si alguien tiene mas explicaciones . puede hacerlas jeje
  #4 (permalink)  
Antiguo 09/07/2008, 21:04
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Respuesta: Funciones Recursivas

imaginate lo que hace esa funcion! bueno ahora imaginate que dentro de la funcion volves a ejecutar la misma funcion! y a su ves dentro de esa funcion volves a ejecutar la misma funcion!. y asi susesivamente hasta que hay una condicion que dice BUENO BASTA! AHORA NO SE EJECUTA MAS LA MISMA FUNCION!.... Y AHI SE TERMINA TODO
  #5 (permalink)  
Antiguo 09/07/2008, 21:11
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Funciones Recursivas

ahi entendiiii, muchas gracias korg!! sos un grande
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.