![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
13/02/2011, 17:07
|
| | Fecha de Ingreso: abril-2010 Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 9 meses Puntos: 228 | |
Respuesta: explicacion logica recursividad?? La recursividad si responde a la logica de las funciones. Pero que pasa, cada vez que haces un llamado a la funcion se crean en memorias nuevas variables locales y argumentos.
En ese ejemplo de potencia, supone que llamamos asi:
potencia(4,3);
En el primer llamado a la funcion e no es igual a uno por lo que el if pasa al else. Ahi se va a calcular 4 * potencia(4,3-1); Para calcular ese numero, se realiza un nuevo llamado a la funcion potencia que es totalmente aparte del anterior. Ahora los argumentos esta vez son 4 y 2.
De nuevo e no es igual a uno, por lo que se re quiere calcular 4 * potencia(4,1). Se hace un llamado nuevamente a potencia, completamente distitno a los otros dos, y ahora si e es igual a uno por lo que se devuelve 4.
En el segundo llamado tenias que calcuar 4 * potencia(4,1) = 4 * 4 = 16. Entonces devolvemos 16. Y llegamos al primner llamado en donde debiamos calcular
4 * potencia(4,2) = 4 * 16 = 64
Y ese es el resultado de la funcion.
Un desarrollo mas matemtico seria:
potencia(4,3) = 4 * potencia(4,2) = 4 * 4 * potencia(4,1) = 4 * 4 * 4 = 4 * 16 = 64 |