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 |