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?
Recursividad en SuperBASIC
Moderador: Sir Cilve Sinclair
- badaman
- Sabreman
- Mensajes: 499
- Registrado: Mar Ene 29, 2008 10:58 am
- Contactar:
Re: Recursividad en SuperBASIC
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.
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.
Sinclair QL, la respuesta profesional de los 80
-
- Jack The Nipper
- Mensajes: 112
- Registrado: Mar Abr 08, 2008 9:00 am
Re: Recursividad en SuperBASIC
Para mí lo mejor es declarar locales las variables y poner nombres descriptivos a las subrutinas.
-
- Sabreman
- Mensajes: 396
- Registrado: Dom Feb 24, 2008 10:56 pm
Re: Recursividad en SuperBASIC
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).
¿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).
- badaman
- Sabreman
- Mensajes: 499
- Registrado: Mar Ene 29, 2008 10:58 am
- Contactar:
Re: Recursividad en SuperBASIC
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.
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.
Sinclair QL, la respuesta profesional de los 80
-
- Sabreman
- Mensajes: 396
- Registrado: Dom Feb 24, 2008 10:56 pm
Re: Recursividad en SuperBASIC
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.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 31 invitados