Professional Documents
Culture Documents
Recursividad en la practica
Hay pocos alumnos en la clase. Cuantos asistieron hoy ?
Comienza el del medio diciendo somos los de mi derecha mas los de mi
izquierda y yo
a.
Luego los de la derecha dice somos los de mi izquierda mas los de mi derecha y
yo
b.
As hasta que el ultimo queda solo y dice solo soy yo (1) c.
Cuantos son si se van dividiendo hasta que quedan grupos de 1 1.
Izquierda ->1 a.
Derecha ->1 b.
Y yo c.
Comienzan a devolver 2.
Todos somos 3
Debe continuar el paso 2 para los grupos sucesivos hasta llegar al primero que dir
los de mi izquierda son M y los de mi derecha son P. En total somos M+1+P
3.
El grupo se divide en dos partes y no se sabe cuantos hay en total.
http://www.grycap.upv.es/gmolto/prg.php
Ejemplo 1: del factorial paso a paso ->
recursivos.
Comprender el funcionamiento de la pila de activacin durante la ejecucin del
algoritmo recursivo
Ecuacin de recurrencia.
Plantear el perfil a partir del anlisis en funcin a un caso general y otro base 1.
Disear el algoritmo recursivo de calculo del factorial 2.
Parmetros de entrada
Parmetros de salida
int fac=factorial(num) --> donde num>=0
a. Perfil del mtodo
Caso Base
Caso General
factorial(num)
1 num =0
num*factorial(num-1) num>0
b. Anlisis de casos (vase la ecuacin de recurrencia)
if () //caso base
else //Caso General
c. Transcripcin a c++
Validacin del algoritmo 3.
int factorial(int nro){
Objetivo: Comprender el procedimiento para el anlisis y diseo de algoritmos
Fundamentos Tericos 1.
Apuntes Recur pgina 1
//int res=1;
if(nro==0){
return 1;
}else{
//res= nro*factorial(nro-1);
return nro*factorial(nro-1);
}
//return res;
}
Mostrar la pila de activacin que se forma por cada llamada recursiva
Sirve para ver que se guarda (direccin de memoria + valor de
parmetros)