[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