La Web del Programador: Comunidad de Programadores
 
    Pregunta:  16370 - PROBLEMAS CON LA PILA AL UTILIZAR MODULA 2
Autor:  David de Juan
Hola buenas, el problema con el que me encuentro es que al intentar ejecutar un algoritmo recursivo implementado en Modula 2 me sale el mensaje de error "stack overflow". ¿Cómo puedo solucionarlo?

  Respuesta:  Orlando Loprete
Si bien no se nada de Modula 2 (lo reconozco), en general los algoritmos recursivos pueden dar stack overflow en cualquier lenguaje.
El mensaje da porque el algoritmo se llama demasiadas veces a si mismo, así que tendrías que ver si es lo que está pasando, y si hay una forma (casi seguro) de ampliar el stack.
Igual no te olvides (de maestro ciruela, nomás) que al hacer recursiones siempre es necesario dar una salida no recursiva (si no siempre se pincha), por ejemplo (mas alla del lenguaje):

Function Factorial (valor)

If valor > 1 then
' -------- formato recursivo normal
Factorial = valor * Factorial (valor-1)
else
'--------- salida no recursiva
Factorial = 1
end if