[Sur] Limitaciones de TortugArte
Daniel Ajoy
da.ajoy en gmail.com
Mar Nov 25 23:03:36 EST 2008
On Tue, 25 Nov 2008 05:02:44 -0500, Luis Michelena <luis.michelena en gmail.com> wrote:
> Con respecto a los parametros, la verdad que le doy doy vueltas cada tanto pero no he encontrado ninguna que me parezca lo suficientemente simple e intuitiva, que funcione de una manera gráfica.
Te cuento a idea que tengo, no es muy usual en programación pero sí ha sido probada con éxito en uno que otro lenguaje "raro" como Forth, o las calculadoras HP, la calculadora de DOS llamada PolyMath, o la calculadora "dc" de linux.
La idea es no pasar parámetros a una procedimiento, sino usar un "stack", una verdadera pila en el sentido usual de Sistemas, también llamada FIFO (first in first out)
Este stack sería visible en una pestaña.
la ficha push (apila) coloca un dato en el stack
la ficha pop (desapila) saca un dato del stack y devuelve su valor
Cuando un procedimiento quiera pasar un dato a un sub-procedimiento hace lo siguiente:
push dato
subProc1
por su parte subProc1 puede gastar el dato de la pila, así:
avanza pop
si el subprocedimiento necesita usar el "parámetro pasado" varias veces puede meterlo en una variable así
poner.en.caja "nombre pop
avanza (caja "nombre) * (caja "nombre)
El SUPER procedimiento puede prepara el stack con cualquier cantidad de valores para su consumo por el subprocedimiento
El subprocedimiento puede prepara el stack para sus propios subprocedimientos
Además un subprocedimiento puede pasar cualquier cantidad de valores al SUPER procedimiento dejándolos en el stack para que el SUPER procedimiento los use.
Daniel
PD. Tú nos adjuntaste unas fichas... la ficha que dice poner.en.pila debe decir poner.en.caja
More information about the olpc-Sur
mailing list