Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2021-2 Prog 1 - Sesión 11B - Recursividad
2021-2 Prog 1 - Sesión 11B - Recursividad
Laboratorio
Profesor:
Profesores:
De Teoría: De Laboratorio:
12 Unidad 12:
Recursividad
Programación 1
Logros de la Sesión
¿Qué es recursividad?
Recursividad
• Simple. Cuando en la definición de la función sólo se
llama a si misma una vez.
• Múltiple. Cuando en la definición de la función se realiza
mas de una llamada a si misma.
• Directa. Cuando la función se llama a si misma (simple o
múltiple).
• Indirecta. Cuando la función llama a otra función que, a
su vez, llama a la función original.
Programación 1
Algoritmo recursivo
Programación 1
Algoritmo recursivo
Factorial (Iterativo): Factorial (Recursivo):
Programación 1
Condición base
• Para evitar una recursión infinita siempre se debe
considerar (al menos) una condición base.
• Caso contrario:
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
factorialR n = 2
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
factorialR n = 2
factorialR n = 1
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
factorialR n = 2
factorialR n = 1
factorialR n = 0
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
factorialR n = 2
factorialR n = 1
1 factorialR n = 0
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
factorialR n = 2
1 factorialR n = 1
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
factorialR n = 4
factorialR n = 3
2 factorialR n = 2
Programación 1
Algoritmo recursivo
__main__
factorialR n = 5
factorialR n = 4
6 factorialR n = 3
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
factorialR n = 5
24 factorialR n = 4
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
120 factorialR n = 5
Programación 1
Algoritmo recursivo
Factorial (Recursivo): Diagrama de la pila
__main__
Programación 1
Algoritmo recursivo
Factorial (Recursivo):
Programación 1
Ejemplo: Palíndrome
Elabore e implemente en Python un algoritmo recursivo
para determinar si un string s es palíndrome.
Programación 1
Ejemplo: Palíndrome
Programación 1
Ejemplo: Palíndrome
Elabore e implemente en Python un algoritmo recursivo
para determinar si un string s es palíndrome.
Programación 1
Ejercicios:
Elabore e implemente en Python un algoritmo recursivo que:
Evaluación
• ¿Qué es una función recursiva?
• ¿Cuándo utilizo una función recursiva?
• ¿Qué es la condición o caso base?
• ¿Cuántas condiciones o casos bases debe tener una función
recursiva?
Programación 1
Cierre
En esta sesión aprendiste:
• Comprender la recursividad.
• Solucionar problemas y desarrollar programas en Python
usando funciones recursivas.
Gracias
Nos vemos en la siguiente clase!