SuperBASIC es una variante avanzada del lenguaje de programación BASIC con muchas mejoras de programación estructurada . Fue desarrollado en Sinclair Research por Jan Jones a principios de los años 1980.
Originalmente, SuperBASIC fue pensado como el intérprete de BASIC para un ordenador doméstico cuyo nombre en código era SuperSpectrum , que entonces se encontraba en desarrollo. Este proyecto fue cancelado más tarde; sin embargo, SuperBASIC fue posteriormente incluido en el firmware ROM del microordenador Sinclair QL (anunciado en enero de 1984), y también sirvió como intérprete de línea de comandos para el sistema operativo QDOS del QL . [1] [2]
Fue uno de los primeros BASIC de segunda generación que se integró en el sistema operativo de una microcomputadora (a diferencia del BBC BASIC que lo precedió en 1981), lo que hizo que el sistema operativo fuera extensible por el usuario, como lo hizo Linus Torvalds en sus años de formación.
IF
- THEN
- ELSE
-END IF
FOR
- NEXT
- EXIT
-END FOR
REPeat
- NEXT
- EXIT
-END REPeat
SELect ON
- ON
- REMAINDER
-END SELect
RETurn
desde dentro de los procedimientos y funcionesLOCal
matrices y variables (de cadena)AUTOmatic
numeración de líneasRESTORE
&DATA
La función que se muestra a continuación ilustra las últimas ocho de estas funciones. Después de tenerla RUN
, ingrese
IMPRIMIR días laborables$(Iso("19631122",1))
se imprimiráVIEa la pantalla. Hasta que se borre (por ejemplo, ingresando NEW
), la función Iso [3] actuará como una extensión del sistema operativo. De manera similar, según la Guía del usuario de QL, "muchos de los comandos del sistema operativo están definidos como procedimientos". [4]
AUTOMÁTICO 11,2 DEFINE FN Iso(S,O) y%,m%,d%,i$,n%,w% local REM Paso 0: para aislar los componentes del sello de fecha S="YEARMoDa" SEA y%=S(1A 4) : m%=S(5A 6) : d%=S(7A 8) Paso 1 del REM: para iniciar la congruencia de Lachman [5] SEA i$=m%*2,56+ 193 : S=S(1A 6)- 3 REM Paso 2: para calcular el número de día dentro de la semana SEA w%=(S(1A 2)&"32"DIV 16+ S(1A 4)DIV 4+ y%+ i$(2A 3)+ d%)MOD 7 REM Paso 3 - para devolver el resultado SELECCIONAR O EN O= 5 : n%=i$(2A 3) EN O= 4 : n%=y% EN O= 3 : n%=m% EN O= 2 : n%=d% EN O= 1 : n%=w% EN O= RESTO: n%=-1 FIN SELECCIONAR RETURN n% Declaraciones de datos REM DIM días laborables$(6,3) RESTAURAR 190 PARA count=0 A 6 : LEER días laborables$(count)
ctrl+space
100 DIM mes$ ( 12 , 9 ) 110 RESTAURAR 120 REM Ejemplo ii de "Restauración de lectura de datos" de la Guía del usuario de QL 130 REM modificado apropiadamente en relación con el ejemplo i 140 PARA recuento = 1 A 12 : LEER mes$ ( recuento ) 150 DATOS "Enero" , "Febrero" , "Marzo" 160 DATOS "Abril" , "Mayo " , "Junio" 170 DATOS "Julio" , "Agosto" , "Septiembre" 180 DATOS "Octubre" , "Noviembre" , "Diciembre" 190 DATOS "DOM" , "LUN" , "MAR" , "MIÉ" , "JUE " , " VIE" , "SÁB" 199 END DEFine Iso