Historia y evolución del Casio BASIC.

Este artículo está dedicado al Casio BASIC, específico de las calculadoras científicas y gráficas de Casio. Este lenguaje de programación no tiene nada que ver con el BASIC más o menor estándar, que incorporaban desde el inicio de los años 80, los llamados "Ordenadores de Bolsillo" o "Pocket PC" de Casio, entre los que pueden encontrarse las series FX-702P, la Serie 100 (PB-100), la Serie 700 (PB-100), y tantas otras.

Con Casio BASIC nos referimos específicamente al lenguaje de programación que nació con la FX-4000P, y se incorporó posteriormente a las calculadoras gráficas de Casio, cuya primera maquina es la FX-7000G. Sigue vivo en la actualidad, ya que se ha mantenido durante todos estos años en las diferentes versiones que han ido saliendo al mercado en las todas las calculadoras gráficas.

Hay que decir que una de las principales caracterísicas de este lenguaje es su excesiva austeridad en comandos disponibles. Nace con un corto número de comandos, y este problema no se soluciona en las diferentes versiones de máquinas, cada vez más avanzadas que van surgiendo a lo largo de los años. Tan limitado es el número de comandos, que hace inviable la programación de textos, caracteres o sprites animados, la adecuado presentación de varios datos en la pantalla, o incluso el poder presentar datos de manera secuencial sin que se detenga el programa. A modo simple de ejemplo, durante muchos años, un programa que contara números del 1 al 100 automáticamente en pantalla no era posible.

Esto no quiere decir que fuera un lenguaje inútil, porque sí permitía, por ejemplo, la ejecución de complejos cálculos matemáticos que permitían resolver problemas científicos, de ingeniería o de finanzas. Pero a los ojos de los programadores puros, quedaba bastante limitado. En la tabla de abajo se puede observar el mismo programa, el que usamos para ver el rendimiento de las calculadoras, en tres etapas. El código de la izquierda corresponde a la calculadora FX-4000P, cuando se inicia el Casio BASIC y tiene la extraña característica de tener que introducirse todo el programa en una sóla línea. El código central puede pertener a cualquier calculadora gráfica desde el año 1985, hasta la aparición de la 2ª generación de este lenguaje 11 años más tarde. Finalmente, el código de la derecha, es el válido para las calculadoras que ya implementaban el Casio Basic de 2ª generación en 1996 con la FX-9750G. Puede observarse que el código es básicamente el mismo con mínimas modificaciones. Esto es debido a que no se emplean las características gráficas ni de lectura del teclado disponibles a partir de 1996.

Casio BASIC de 1ª Generación en una FX-4000P de una sóla línea.
----------------------------
500→N:Lbl 2:10→L:Lbl 1:L→X:X+1→X:X-4.567E-4→X:X+70→X:X-69→X:X*7→X:X/11→X:L-1→L:L≠0⇒Goto 1:ln X→X:sin X→X:√X→X:√X→X:N-1→N:N≠0⇒Goto 2:X
Casio BASIC de 1ª Generación en una máquina de la Serie FX-7000G.
----------------------------
500→N
Lbl 2
10→L
Lbl 1
L→X
X+1→X
X-4.567E-4→X
X+70→X
X-69→X
X*7→X
X/11→X
L-1→L
L≠0⇒Goto 1
ln X→X
sin X→X
√X→X
√X→X
N-1→N
N≠0⇒Goto 2
X
Casio BASIC de 2ª Generación ejecutable a partir de la Serie FX-9850G.
----------------------------
ClrText
500→N
Lbl 2
10→L
Lbl 1
L→X
X+1→X
X-4.567E-4→X
X+70→X
X-69→X
X*7→X
X/11→X
L-1→L
L≠0⇒Goto 1
ln X→X
sin X→X
√X→X
√X→X
N-1→N
N≠0⇒Goto 2
Locate 1,1,X


Tras especificar a qué nos referimos con Casio BASIC, pasemos a ver su historia, a través de las grandes mejoras introducidas en las máquinas que lo portaban.

Nacimiento. Casio FX-4000P.
La calculadora Casio FX-4000P es la primera calculadora programable que introduce el Casio BASIC. Se caracteriza por ser una máquina de aspecto muy similar a cualquier calculadora científica de la época, con una pantalla de cuarzo líquido que incorpora caracteres formados por matrices de puntos de 7x5, en lugar de los típicos formados con segmentos. Tiene una única línea de 12 caracteres. Dispone de una memoria de 550 bytes o pasos.
  • Se pueden introducir 10 programas en 10 áreas de programas, numeradas de P0 a P10 (típico sistema Casio).
  • Los programas sólo pueden contener una línea. Es posible realizar saltos y bucles dentro del programa mediante la inclusión de etiquetas.
  • Dispone de los operadores aritméticos (+,-,/ y *) y lógicos (>, <, =, ≤, ≥ y ≠) normales.
  • Se pueden utilizar en programación las funciones matemáticas propias de una calculadora científica, y que aumentan en número según van saliendo al mercado modelos más modernos (sin, cos, tan, log, ln, e, √, etc).
  • Implementa subrutinas mediante saltos entre áreas de programa con el comando Prg.
  • Dispone de 26 variables, nombradas de la A a la Z, que pueden ser utilizadas como una matriz unidimensionl (A[n]). Se puede ampliar el número de variables mediante Mode "." (Defm) hasta un máximo de 94, consumiento 8 bytes de programa por cada variable ampliada.
  • Dispone de comandos auxiliares, como el cambio de sistema de medición de ángulos Rad, Deg, Gra, en modo de programa.
  • Puede imprimir textos en pantalla, mediante su delimitación entre comillas. "TEXTO", "X=", "INTRODUZCA COSTE=".
  • Comandos BASIC: Lbl, Goto, (asignación de variables), (salto condicional), ? (solicitud datos al usuario), : (separación de comandos), (presentación de datos), Isz, Dsz y Prg.
La primera calculadora gráfica de la historia. Serie FX-7000G.
La Casio FX-7000G tiene el honor de ser la primera calculadora gráfica de la historia, cuyo concepto sería copiado por casi todas las demás marcas. Tiene una pantalla gráfica de cuarzo líquido de 96x64 puntos que se distribuye en modo texto en 8 líneas de 16 caracteres, y que será la pantalla de las calculadoras gráficas en adelante, a excepción de los modelos 6XXX, que montan una pantalla con la mitad de puntos (96x32). Las pantallas de modo GRÁFICO y TEXTO son independientes. Dispone de una memoria de 422 bytes o pasos. La pantalla de la derecha corresponde a una FX-8000P de esta misma serie, que tiene 1442 bytes disponibles para el usuario.

No dispone de ninguna mejora en comandos BASIC, siendo las mejoras que añade respecto a los modelos anteriores:
  • Los programas pueden contener varias líneas, disponiendo de un editor que aprovecha la pantalla de 8 líneas x 16 caracteres.
  • Dispone de comandos específicos para el tratamiento de gráficos matemáticos/estadísticos: Plot, Line, Graph, Factor, Trace, Range, Cls, etc.
  • Comandos BASIC nuevos: Ninguno.
xx. FX-4500P/PA.
xx. FX-4800P.
Matrices en programación. Casio Icon Menu Power Graphic series.
Tienen que pasar 8 años para poder ver un pequeño cambio significativo, aunque desgraciadamente no siquiera es en la programación BASIC; sino en la inclusión de la gestión de matrices en los programas.

No dispone de ninguna mejora en comandos BASIC, siendo las mejoras que añade respecto a los modelos anteriores:
  • Permite realizar cálculos simples con patrices: Swap, cálculos escalares de multiplicación y suma, y suma de filas.
  • Comandos BASIC nuevos: Ninguno.
EL gran salto, Casio BASIC de segunda generación. Serie 9850G.
Finalmente, en 1996 se produce el gran salto adelante, con el Casio BASIC de segunda generación, el cual ya incorpora prácticamente todos los comandos necesarios de una versión completa de lenguaje de programación. A partir de aquí ya se pueden prgramar juegos, complejas presentaciones de datos en pantalla, aplicaciones más visuales, y aplicaciones que necesiten movimiento. Hasta la aparición del comando LOCATE, cualquier presentación de datos en pantalla detenía el programa. Y no se podía leer el teclado, más allá de de la solicitud de datos que se realizaba con el comando ?. Ahora ya se dispone del comando GETKEY, para monitorizar el teclado, y detectar qué tecla ha sido pulsada.

Las mejoras que añade respecto a los modelos anteriores:
  • Renovado sistema de ficheros, donde ya no hay la limitación del número de programas, y estos se identifican por un nombre.
  • Se modifica el sistema de subrutinas. Los programas se llaman igual con el comando PROG, y se vuelve al programa que la llamó con el comando RETURN.
  • Se permite la asignación a varias variables a la vez. "1→A~E" asigna 1 a las variables A, B, C, D y E.
  • Se incorporan nuevos comandos de tratamientos de Listas, Tablas, y Gráficos.
  • Con la llegada de las Listas, el empleo de variable matriz se hace mediante listas.
  • Comandos BASIC nuevos: IF-THEN-ELSE-IfEND, FOR-TO-STEP-NEXT, WHILE-WEND, DO-LpWHILE, RETURN, BREAK, STOP, ClrTEXT, ClrGRAPH, LOCATE, GETKEY, SEND, RECEIVE.
Pequeñas científicas con capacidad de programación. FX-3650P/3950P.
Casio crea una línea de calculadoras pequeñas y planas, que son prácticamente calculadoras científicas normales, con una capacidad básica de programación, limitada, pero que ciertamente puede apoyar a estudiantes y profesionales al permitirles introducir pequeños programas en Casio Basic. En los programas, se pueden utilizar todas las funciones de la calculadora, incluidas las complejas, como por ejemplo las integrales, funciones estadísticas, etc. A pesar del reducido número de comandos (7), se puede programar en estas máquinas el test de rendimiento nº 1, sin problema, tal cual está incluido en esta misma página relativo a la FX-4000P.

Son modelos de capacidades reducidas, por lo que no suponen ninguna mejora para el lenguaje.
  • Sólo puede almacenar 4 programas, disponiendo de unos escasos 360 bytes.
  • Sólo dispone de 7 variables. A, B, C, D, X, Y y M.
  • Comandos BASIC: Lbl, Goto, , , ?, : y .
Serie 9860G.
En el año 2005 se lanzan al mercado las calculadoras de la Serie 9860G. Tienen un aspecto renovado y una pantalla más nítida.

Las mejoras que añade respecto a los modelos anteriores:
  • Incluye un puerto USB, además del SERIE, para comunicación con el ordenador.
  • En el modelo SD se puede introducir una tarjeta SD para almacenamiento de programas, e intercambio con el PC.
  • Amplia comandos de comunicaciones: RECEIVE38K, SEND38K, OPENCOMPORT38K, CLOSECOMPORT38K.
  • Introduce algunos comandos nuevos Gráficos.
  • Comandos BASIC nuevos: Ninguno digno de destacar, excepto los ya comentados de comunicaciones, o alguno gráfico.
xx. FX-5800P.
Tratamiento de cadenas. Serie 9860GII.
En el año 2009 se renueva la Serie 9860 con unas máquinas de similares características, las GII, pero con algunas mejoras en cuanto al Casio BASIC se refiere, fundamentalmente con la inclusión de un completo juego de tratamiento de cadenas. No obstante, no se considera suficiente mejora en el lenguaje, como para considerarlo la Tercera Generación.

Las mejoras que añade respecto a los modelos anteriores:
  • Introduce un buen número de comandos de tratamiento de cadenas de caracteres.
  • Introduce algunos comandos nuevos Gráficos.
  • Introduce un comando para el tratamiento de menús.
    Comandos BASIC nuevos: MENU, StrCMP, StrINV, StrJOIN, StrLEFT, StrLEN, StrLWR, StrMID, StrRIGHT, StrROTATE, StrSHIFT, StrSRC, StrUPR.