Página 1 de 1

Recursividad en SuperBASIC

NotaPublicado: Vie Dic 12, 2008 9:40 pm
por afx
He realizado la traducción de un artículo de Dilwyn Jones sobre recursividad en SuperBASIC. El SuperBASIC es un lenguaje muy pedagógico, fantástico para enseñar algunas técnicas de programación (muy tipo Pascal). Una pena que ya esté desfasado y que no se use para enseñar programación a los chavales de hoy en día.

Le he enviado el artículo a badaman para colgarlo en sinclairql.es, mientras tanto lo podeis ver en este link.
http://217.126.211.48/DocsQL/Recursividad.pdf

¿Qué opináis de estas cualidades del SuperBASIC?

Re: Recursividad en SuperBASIC

NotaPublicado: Sab Dic 13, 2008 2:20 am
por badaman
Gracias por el envío Afx. Ya está subido a la web:

http://www.speccy.org/sinclairql/docs/p ... ividad.htm

Sobre tu pregunta, no hay más que ver los ejemplos que acompañan al artículo para darse cuenta de la potentísima herramienta que es la instrucción PROCedure.

Poder crear nuevos "comandos" desde el mismo SuperBASIC y que estos a su vez se llamen a si mismos desde su mismo código es verdaderamente potente.

Si, por aquello de la compatibilidad, no hubiesen existido números de línea en SuperBASIC seguramente nadie podría haber llamado BASIC a eso.

Re: Recursividad en SuperBASIC

NotaPublicado: Mar Dic 16, 2008 2:32 pm
por Zerover
Para mí lo mejor es declarar locales las variables y poner nombres descriptivos a las subrutinas.

Re: Recursividad en SuperBASIC

NotaPublicado: Mar Dic 16, 2008 9:21 pm
por afx
A parte de lo estructurado, a mi me gusta también el tema del tratamiento de ventanas y canales. Lo encuentro muy práctico y a lo que se le puede sacar mucho provecho.

¿Que cosas que me hubieran gustado en caso de que hubieran existido nuevas versiones? Pues las siguientes:
- Que se eliminaran los números de línea.
- Que la declaración de variables no fuera implícita sino explícita (al menos esto último que pudiera ser opcional).
- Y que fuera modular (compilar módulos por separado y luego poderlos ensamblar, aunque no sé si esto ya lo hace Turbo o QLiberator; o que se pudiera hacer una especie de "using" o "include" de otros módulos desde un programa Basic).

Re: Recursividad en SuperBASIC

NotaPublicado: Mar Dic 16, 2008 10:18 pm
por badaman
Sobre lo último, lo más cercano a lo que propones e la posibilidad de pasar parámetros a ficheros compilados mediante pipes, como por ejemplo cuando cargas un texto con qed, o descomprimes un archivo zip...

Ejemplo: EX flp1_qed_exe;"flp2_fichero_txt"

ver: http://www.speccy.org/sinclairql/man/tk2/sec8.htm

O esta otra posibilidad del TK2, la de usar el comando DO con un programa en SuperBASIC externo como lo harías con EX.

ver: http://www.speccy.org/sinclairql/man/tk2/sec6.htm

El ficherio a ejecutar con DO no puede contener números de línea, asi pues debe separar los comandos con ":"

Estos programas sin números de línea se pueden crear con PRINT, abriendo OPEN un canal a un fichero al que mandar el texto del programa, o bien mediante un editor de texto como qed.

Re: Recursividad en SuperBASIC

NotaPublicado: Dom Dic 21, 2008 1:47 pm
por afx
badaman escribió:Sobre lo último, lo más cercano a lo que propones e la posibilidad de pasar parámetros a ficheros compilados mediante pipes,

Para un apaño, o para determinadas tareas está bien. "¡Pero! ... :( " ... es una pena que no exista algo para hacer referencia a una librería de rutinas sin tener que hacer un MERGE de otros ficheros con el consecuente engorro de los número de líneas.