Tipos de Datos

BASIC es
reconocido por tener muy buenas funciones para manipular cadenas. Los primeros
dialectos ya tenían un juego de funciones fundamentales (LEFT$, MID$, RIGHT$)
para manipular cadenas fácilmente. Como las cadenas son utilizadas en
aplicaciones diarias, esta era una ventaja considerable sobre otros lenguajes al
momento de su introducción.
El Dartmouth BASIC
original soportaba únicamente datos de tipo numérico y cadenas. No había un tipo
entero. Todas las variables numéricas eran de punto flotante. Las cadenas eran
de tamaño dinámico. Los arreglos de ambos, números y cadenas, eran soportados,
así como matrices (arreglos de dos dimensiones).
Cada dialecto
moderno de BASIC posee al menos los tipos de datos numérico y cadena (string).
Estos tipos de datos se pueden distinguir usando un posfijo, los identificadores
de cadenas terminan con $ (signo pesos, ejemplo la variable NOMBRE$), mientras
que los numéricos sencillamente no llevan posfijo; a menos que se requiera
indicar y forzar explícitamente qué tipo de numérico es, por ejemplo A% es
entero, A! es real simple precisión y A# es real doble precisión. En BASIC las
variables no necesitan forzosamente ser declaradas antes de usarse, excepto los
arreglos de dimensión mayor a 10 elementos; aunque versiones BASIC relativamente
modernas poseen la opción (considerada buena práctica de programación) para
obligar al programador a declarar toda variable antes de su uso (usando una
directiva como OPTION EXPLICIT). La declaración de variables en BASIC se hace
usando la palabra clave DIM.
Muchos dialectos
también soportan tipos numéricos adicionales, como enteros de 16 y 32 bits
(long), además de sus números de punto flotante. Adicionalmente algunos permiten
la utilización de tipos definidos por el usuario, similar a los "records" de
Pascal, o las "structs" de C.
Versiones modernas de BASIC (como VBA) soportan una
gran variedad de tipos
de datos primitivos (o intrínsecos), además de los definidos por el usuario.
La mayoría de los
dialectos de BASIC soporta arreglos en todos sus tipos de datos; es común
también el soporte para arreglos mulidimensionales.
Ejemplos:
DIM MatrizDeEnteros(100,100)
AS INTEGER
DIM VectorDeEnteros%(30)
DIM ListaDeNombres(50)
AS STRING
DIM ListaDeCiudades$(50)
Dependiendo del
dialecto de BASIC y del uso del enunciado OPTION BASE, el primer índice de los
arreglos que se declaren podrá ser 1, por defecto es cero.
En los ejemplos anteriores, si no se declara previamente "OPTION BASE 1", el
primero es un arreglo en dos dimensiones de enteros 16 bits, con índices que van
desde 0 hasta 100 (101 x 101 elementos); en tanto que el segundo es un arreglo
de enteros en una sola dimensión, de 0 a 30 (31 elementos). Observar que las dos
formas de declaración de enteros son equivalentes, explicitándolo o con el uso
del posfijo %. Análogamente para cadenas o string de caracteres, que en este
caso además son de longitud variable (dinámicas por defecto).
|