TI-Basic

De MadriSX wiki
Revisión del 12:33 31 dic 2006 de Museo8bits (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegaciónIr a la búsqueda
Calculadora TI-86, que usa un procesador Zilog Z80.
Calculadora TI-89, que usa un procesador Motorola 68000.

TI-Basic es el nombre por el que es conocido el lenguaje de programación integrado en algunas calculadoras gráficas programables de Texas Instruments. Se asemeja al lenguaje BASIC clásico, de ahí su nombre. Al igual que éste último, es un lenguaje de programación imperativo.

Existen dos variantes básicas del TI-Basic; una es la incluida en las calculadoras basadas en el procesador Zilog Z80 tales como las TI-82 y TI-85 entre otras, otra es la que se incluye en las calculadoras basadas en el procesador Motorola 68000, como las TI-89, TI-92 y TI Voyage 2000. Actualmente, la variante más utilizada es la primera, por ser los modelos de mayor venta, pero los fundamentos son idénticos en ambas.

Descripción del lenguaje

Tipos de datos

Las variables utilizables son las mismas que las que se pueden utilizar directamente para efectuar cálculos sin programar, por ejemplo, en el caso de la TI-83:

  • Las variables A-Z, Φ (variables numéricas).
  • Las listas estadísticas L0-6 (listas numéricas).
  • Las matrices [A]-[J] (matrices numéricas).
  • Las funciones Y0-Y9 (ídem).
  • Las variables gráficas Pic0-Pic9 (imágenes gráficas).
  • Las cadenas Str0-Str9 (ídem de caracteres)
  • Las variables del sistema.
  • Otras.

Este es el punto que más cambia entre cada variante de TI-Basic, ya que las variables disponibles dependen de la capacidad concreta de cada calculadora, por ejemplo la TI-82 solo tiene disponibles las matrices [A]-[E], y la TI-89 puede dar cualquier nombre a las variables numéricas, no solo una letra.

Se trata de un lenguaje de programación de tipado fuerte, debido a que no es posible modificar o elegir el tipo de datos de las variables. Las variables no tienen necesidad de declararse antes de utilizarse en una expresión y son globales.

Sintaxis

La [[sintaxis[[ es muy simple y adaptada a los principiantes en programación. Debido a que estas calculadoras son de uso muy común en algunas escuelas técnicas universitarias, constituye, tal como ocurre con el propio BASIC, un método sencillo de iniciarse en la programación.

Por contra, las posibilidades de uso general están reducidas y básicamente centradas en resolver algoritmos matemáticos, aunque existen bastantes juegos programados en TI-Basic, debido a la pantalla de tamaño razonable que contienen estas calculadoras.

No es posible crear funciones, métodos o procedimientos. La única posibilidad es llamar otros programas almacenados en forma de subrutina, sin soportar argumentos, aunque como las variables son globales existe la convención de pasar un parámetro a través de la variable Ans.

Los errores de sintaxis o excepciones se indican de la misma manera que cuando se provocan de forma directa, es decir, indicando la causa del problema y parando la ejecución, dando la opción de cargar el editor de programas integrado en el punto que causó el error para poder corregirlo.

Ti-Basic soporta los conceptos fundamentales de control de flujo que tienen la la mayoría de los lenguajes de programación. Entre ellas se encuentras las siguientes instrucciones:

  • La asignación, con la curiosa sintaxis EXPRESIÓN -> VARIABLE. Por ejemplo 5 -> A, almacena el valor 5 en la variable numérica A.
  • Las instrucciones condicionales: If, Then, Else.
  • Los bucles While, Repeat, For.
  • La instrucción End, que indica el final de las instrucciones a ejecutar dentro de un grupo condicional o bucle.
  • Las ramificaciones, con la instrucción Goto y las etiquetas designada por Lbl. prgmNOMBRE permite llamar a una subrutina y Menu permite mostrar un menú de opciones y saltar a una etiqueta concreta según la opción seleccionada.
  • Otras dependiendo de la variante exacta de TI-Basic.

Las instrucciones de entrada/salida son:

  • Input y Prompt, con el fin de entrar un valor por el teclado y almacenarlo en una variable.
  • Output, para escribir en un lugar determinado de la pantalla de texto.
  • Disp, que escribe detrás de la posición actual del cursor de la pantalla de texto.
  • DispGraph, DispTable, muestran un la pantalla de gráficos o la pantalla de tabla de valores.
  • ClrHome, ClrTable, quienes borran la pantalla de texto o la de tabla de valores.
  • Get y Send que importa o exporta una variable a o desde un dispositivo externo (generalmente otra calculadora).
  • getKey permite para obtener la tecla pulsada.
  • Otras más, dependiendo de la variante de TI-Basic.

Además están las cientos de funciones matemáticas y gráficas integradas en la calculadora están disponibles para la programación. Por ejemplo, sin( devuelve el seno de la expresión o ptOn(, que dibuja un píxel de color negro en un punto determinado de la pantalla gráfica. Una muestra de sintaxis de la primera función sería sin(B) -> A, que almacena el seno de lo que contenga la variable B en la variable A.

Al igual que en el BASIC tradicional, normalmente se escribe una instrucción por línea, aunque se puede escribir más de una instrucción por línea, separándolas con el signo dos puntos.

Ejemplos de programas

El siguiente programa borrará la pantalla y escribirá el mensaje HOLA MUNDO:

:ClrHome
:Disp "HOLA MUNDO"

Este programa suma los números enteros entre 1 y 20 y guarda el resultado en la variable A. Después borra la pantalla y muestra el valor de la variable A:

:Clrhome
:0->A
:For(X,1,20)
:A+X->A
:End
:Disp A

El siguiente programa entra en un bucle infinito que muestra continuamente la tecla pulsada, excepto la tecla On, que sirve para abortar la ejecución de un programa de forma predefinida.

:ClrHome
:Repeat 0
:Repeat A
:getKey->A
:End
:ClrHome
:Disp A
:End

Una característica común de los juegos en TI-BASIC es usar las teclas del cursor para mover un objeto en pantalla. Este programa pinta un punto en la pantalla y lo mueve según la tecla del cursor pulsada. El código anterior a Lbl 1 inicializa la pantalla gráfica direccionable pixel a pixel.

:ClrDraw
:-47 -> Xmin
:47 -> Xmax
:-31 -> Ymin
:31 -> Ymax
:0 -> X
:0 -> Y
:Repeat 0
:Pt-Off(X,Y)
:getKey -> C
:If C = 24
:X-1 -> X
:If C = 25
:Y+1 -> Y
:If C = 26
:X+1 -> X
:If C = 34
:Y-1 -> Y
:Pt-On(X,Y)
:End

Este código el lento y grande. El siguiente código hace lo mismo de forma más optimizada. Por ejemplo, los paréntesis de cierre de funciones en TI-Basic no son necesarios.

:ZStandard
:ZInteger
:Delvar X
:Delvar Y
:Repeat 0
:getKey -> C
:Pt-Off(X,Y
:X + (Ans=26) - (Ans=24 -> X
:Y + (C=25) - (C=34 -> Y
:Pt-On(X,Y
:End

Referencias

Enlaces externos

Véase también

Atribución

Este artículo proviene originalmente de Wikipedia y por ello no sigue la licencia general del site, sino la

GNU head GFDL: Se autoriza la copia, la distribución y la modificación de este documento bajo los términos de la licencia de documentación libre GNU, versión 1.2 o cualquier otra que posteriormente publique la Fundación del Software Libre (Free Software Fundation); sin secciones invariables (Unvariant Sections), textos de portada (Front-Cover Texts), ni textos de contraportada (Back-Cover Texts).

Se incluye una copia en inglés de esta licencia en el artículo "GNU Free Documentation License".