Es una técnica de programación importante. Se utiliza para realizar una llamada a una función desde la misma función.
Enviado por ande45211 • 1 de Marzo de 2016 • Trabajo • 1.557 Palabras (7 Páginas) • 159 Visitas
RECURSIVIDAD
Es una técnica de programación importante. Se utiliza para realizar una llamada a una función desde la misma función.
PROPIEDADES DE LA RECURSIVIDAD
- Que no genere una secuencia infinita de llamadas
- Una función recursiva debe definirse en términos que no impliquen a la función al menos en un argumento o grupo de argumentos. Debe existir una “salida” de la secuencia de llamadas recursivas
- Una función recursiva no necesita llamarse a si misma de manera directa. En su lugar puede hacerlo de manera directa.
QUE SE NECESITA PARA QUE HAYA RECURSIVIDAD
- Estado inicial
- Estado final
- Llamada recursiva
- Que la llamada tienda al estado final
EJEMPLOS DE FUNCIONES RECURSIVAS
1. funcion suma (int x, int y)
{
C = x + y;
Si (C > 10)
Escriba “10”;
Sino
Escriba c;
suma (c, x);
}
2. funcion factorial (int n)
{
Si (n = = 0)
factorial = 1;
sino
factorial = n * factorial (n-1);
fin si
}
3. funcion fib (int n)
{
Si (n = = 0)
fib = 0;
sino
si (n = =1)
fib = 1;
sino
si (n>1)
fib = fib (n-1) + fib(n-2);
fin si
fin si
fin si
}
4. funcion exp (int x, int n)
{
Si (n>0)
exp = x * exp (x, n-1);
sino
exp = 1;
fin si
}
5. Hacer un programa recursivo que sume los elementos de un vector
funcion sumar (v[], int n, int i)
{
Si ( i = = n-1)
return v[i];
sino
return v[i] + sumar (v, n, i+1);
fin si
}
6. Hacer un programa recursivo que muestre los elementos de un vector de forma inversa
funcion mostrar (v[], int n, int i)
{
Si (i>=0)
Escriba v[i];
mostrar (v[], n, i-1);
fin si
}
EJERCICIOS
- Hallar el numero mayor en un vector
- hallar el numero n de la serie 1, 3, 7, 15, 31, …
- Si una edificación por nivel emplea con un ladrillo y se va formando de esta manera
[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7][pic 8]
...