-Concepto de funciones recursivas: una función recursiva es aquella que se llama a si misma para resolverse. Dicho de otra manera, una función recursiva se resuelve con una llamada a si misma, cambiando el valor de un parámetro en la llamada a la función. A través de las sucesivas llamadas recursivas a la función se van obteniendo valores que, computados, sirven para obtener el valor de la función llamada originalmente.
El proceso de llamadas recursivas siempre tiene que acabar en una llamada a la función que se resuelve de manera directa, sin necesidad de invocar de nuevo la función. Esto será siempre necesario, para que llegue un momento que se corten las llamadas reiterativas a la función y no se entre en un bucle infinito de invocaciones.
-Ejemplos:
1.int factIter (int n)
{
int res=1;
while (n>1)
res*=n--; // atención decremento después de la
multiplicación
return res;
}
2.oid cifras(int val)
{
if (val>0){
printf("%d_",
val%10);
cifras(val/10);
}
}
3.def factorial(numero):
print "Valor
inicial ->",numero
if numero > 1:
numero = numero * factorial(numero -1)
print "valor final ->",numero
return numero
Comentarios
Publicar un comentario