Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
M
UNIVERSIDAD AUTONOMA GABRIEL
RENE MORENO
Facultad Ciencias de la computacin
Carrera de Sistemas
Semestre I/2017
Apuntes 2 : Recursividad.
1. Fundamentos Tericos
a. Caso de Estudio: Series Numricas
b. Ejemplo de una Recursin void
c. Ejemplo de una Funcin Recursiva
BIBLIOGRAFIA
WEBGRAFIA
1. Recursividad en la practica
Hay pocos alumnos en la clase. Cuantos asistieron hoy ?
El grupo se divide en dos partes y no se sabe cuantos hay en total.
1. Cuantos son si se van dividiendo hasta que quedan grupos de 1
a. Comienza el del medio diciendo somos los de mi derecha mas los de mi izquierda y yo
b. Luego los de la derecha dice somos los de mi izquierda mas los de mi derecha y yo
c. As hasta que el ultimo queda solo y dice solo soy yo (1)
2. Comienzan a devolver
a. Izquierda ->1 Derecha ->1 Y yo = Todos somos 3
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
http://www.grycap.upv.es/gmolto/prg.php
c. Transcripcin a c++
if () //caso base
else //Caso General
4. Conclusion
1. Anlisis del Problema
2. Diseo del algoritmo.
3. Validacin.
Series Numricas
Lo Primero que debe hacer es enumerar posiciones de cada elemento en la serie y reconocerla
como una de los siguientes tipos:
Sucesin que se factor iza --> Tienen un factor comn que comparten.
2 5 10 17 26
Luego la frmula del trmino ensimo es:
An=(n2 + 1)
Donde:
n = El elemento de la serie a calcular (2)
A2=(22 + 1)
Cuadrtica an2 +bn +c --> Resulta ser una serie aritmtica recin el en segundo nivel .
Luego, si saca sumatorio obtiene el total de la suma de los N elementos de la serie numerica.
i=n
(3n2 -n +2) --> Algoritmos que suma con ciclo repetitivo.
i=1
Serie Cubica: an3 + bn2 +cn +d Resulta ser una serie aritmtica recin en el tercer nivel.
2 4 12 24 72
Objetivo:
1. Comprender el procedimiento de mtodos recursivos
2. Especificar los casos de anlisis de algoritmos recursivos: Caso base y Caso General
3. Conocer la validacin y terminacin de un algoritmo recursivo
4. Analizar el algoritmo recursivo del clculo del trmino ensimo de una serie.
Metodologa:
1. Anlisis del Algoritmo
2 *2 = 4 (2do) --> par
4*3=12 (3ro) --> impar
12*2=24
24*3=72
i. Serie (n,k) { 2
Serie (n-1,k)
n=1;
n>1
c. Codificacin en C++
}
}
}
}
Secuenciacin en clase:
1. Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver que ah se guarda (direccin de
memoria + valor del parmetros)
2. Aqu se refleja lo que pasa en cada RETURN
3. Comienza desde el caso base el des Apilado.
2 4 12 24 72
Objetivo:
1. Comprender el procedimiento de mtodos recursivos
2. Especificar los casos de anlisis de algoritmos recursivos: Caso base y Caso General
3. Conocer la validacin y terminacin de un algoritmo recursivo
4. Analizar el algoritmo recursivo del clculo del trmino ensimo de una serie.
Metodologa:
1. Anlisis del Algoritmo
2 *2 = 4 (2do) --> par
4*3=12 (3ro) --> impar
12*2=24
24*3=72
b. Anlisis de casos
i. Caso Base : El algoritmo no se llama a si mismo. Permite que el algoritmo termine en algn momento
1) Si n=1 --> Este es el caso base , luego K=2
ii. Caso General : El mtodo se llama a si mismo
i. Serie (n) { 2
Serie (n-1)
n=1;
n>1
c. Codificacin en C++
Secuenciacin en clase:
1. Mostrar la pila que se forma por cada llamada recursiva. Esta sirve para ver que ah se guarda (direccin de
memoria + valor del parmetros)
2. Aqu se refleja lo que pasa en cada RETURN
3. Comienza desde el caso base el des Apilado.