4.10. Diagramas de pila para funciones recursivas

El la Sección 3.11 utilizamos un diagrama de pila para representar el estado de un programa durante la llamada de una función. El mismo tipo de diagrama puede hacer mas fácil interpretar una función recursiva.

Cada vez que se llama a una función, Python crea un nuevo marco para la función, que contiene sus variables locales y parámetros. En el caso de una función recursiva, puede haber mas de un marco en la pila al mismo tiempo.

La figura muestra un diagrama de pila para cuenta atrás, invocada con n = 3:

image

Como es habitual, en lo alto de la pila esta el marco de main . Esta vac³a porque no hemos ninguna variable sobre main ni le hemos pasado ningún parámetro.

Los cuatro marcos de cuenta atrás tienen valores diferentes para el parámetro n. El fondo de la pila, donde n=0, se llama caso base. No hace una llamada recursiva, de manera que no hay mas marcos.

Como actividad, dibuje un diagrama de pila para nLineas, invocada con el parámetro n=4.

0