Objetivos Objetivos
  • Conocer los tipos de datos disponibles en Gambas.
  • Aprender a usar las variables y constantes en Gambas.
   
Fuentes de información Fuentes de información
  • Libro “GAMBAS, programación visual con Software Libre”, de la editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel Campos Fernández y José Luis Redrejo.
  • Libro “Fundamentos de programación”, de la editorial Univ. Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
Contenidos
Contenidos
 

1. El lenguaje BASIC Gambas

Vamos a definir la sintaxis e instrucciones más importantes del lenguaje BASlC que usa Gambas. Buena parte de estas instrucciones existen en el BASIC estándar y algunas otras son extensiones propias de Gambas.

Al principio utilizaremos ejemplos de código de consola, como vimos en el primer ejemplo. Haciéndolo de este modo evitaremos las interferencias que puede suponer la explicación de conceptos relacionados con la programación gráfica y los componentes. Estos conceptos se explicarán con extensión en prácticas posteriores. Estructura de un proyecto en Gambas

2. Organización de un proyecto de Gambas

Antes de comenzar con la programación básica hay que resumir algunos conceptos previos:

  • El código fuente de los programas hechos en Gambas está compuesto de uno o más archivos que forman un proyecto. Este proyecto se archiva en un directorio del mismo nombre.
  • Los archivos de código pueden ser: Módulos (contienen código en BASIC que se ejecuta directamente) y Formularios (áreas donde se diseña la interfaz gráfica de la aplicación y que se corresponden con las ventanas del programa).
  • Los proyectos de texto sólo contienen Módulos. Las aplicaciones gráficas contienen Formularios, pero también pueden contener Módulos.

 

3. Declaración de variables

Los programas manejan datos continuamente. Estos datos pueden ser de muchos tipos: números, letras, textos, etc. En un programa existen 2 clases de datos según su uso:

  • Variables. Su valor cambia a lo largo de la ejecución del programa.
  • Constantes. Su valor permanece con un valor fijo durante todo el tiempo.

A los datos que usa un programa se les asigna un nombre identificador.

BASIC permitía usar variables y constantes sin haberlas declarado antes. Para evitar programas ilegibles y errores, Gambas obliga a declarar las constantes y las variables antes de utilizarlas.

3.1. Variables

Las variables se declaran al principio del archivo de código (Módulo). Están disponibles para todo el código de ese archivo, en todas sus subrutinas.

Para declarar una variable al principio del Módulo usamos la sintaxis:

(PUBLIC | PRIVATE) nombre_variable AS tipo_variable

Si se define la variable como PRIVATE, estará disponible dentro de todo el fichero, pero no será accesible desde otros ficheros del mismo proyecto. Si se declara como PUBLIC, se podrá acceder a la variable desde un fichero del proyecto distinto a donde se declaró.

Para declarar una variable dentro de un procedimiento o función usamos la sintaxis:

DIM nombre_variable AS tipo_variable

3.2. Constantes

Las constantes se definen sólo al principio de un archivo de Módulo. No se pueden definir dentro de las subrutinas y funciones. La sintaxis es:

(PUBLIC | PRIVATE) CONST nombre_constante AS tipo_constante = valor

Por tanto, al igual que las variables, pueden ser privadas o públicas.

4. Tipos de datos

Gambas soporta los siguientes tipos de datos:

Tipo de datos

Descripción

Boolean

Es un tipo de dato que suele ser el resultado de una comparación. Sólo acepta dos valores : False y True (Falso y Verdadero en español).

Byte

Representa un número entero positivo entre 0 y 255.

Short

Representa un número entero con valores posibles entre -32.768 y +32.767.

Integer

Representa un número entero con valores posibles entre -2.147.483.648 y +2.147.483.647.

Long

Representa un número entero con valores posibles entre -9.223.372.036.854.775.808 y +9.223.372.036.854.775.807

Single

Representa un número real, con decimales, con valores posibles entre -1,7014118E+38 y +1,7014118E+38.

Float

Representa un número real, con decimales, con valores posibles entre -8,98846567431105E+307 y +8,98846567431105E+307.

Date

Sirve para almacenar un valor de fecha y hora. Internamente, se almacena en formato UTC, al devolver el dato se representa en el formato local, según la configuración del ordenador.

String

Se usa para almacenar una cadena de texto. En BASIC las cadenas de texto se asignan mediante dobl es comillas.

Variant

Significa cualquier tipo de dato, es decir, pued e almacenar un lnteger, Single, String, etc. Se debe evitar su uso porque ocupa más memoria que los anteriores y los cálculos con Variant son mucho más lentos.

Object

Representa cualquier objeto creado en Gambas.

A continuación se muestra una tabla resumen con el espacio que ocupan en memoria y los valores por defecto:

Tipo de dato

Descripción

Valor por defecto

Tamaño en memoria

Boolean

Verdadero o falso.

FALSE

1 byte

Byte

0...255

0

1 byte

Short

-32.768...+32.767

0

2 bytes

Integer

-2.147.483.648...+2.147.483.647

0

4 bytes

Long

-9.223.372.036.854.775.808...

+9.223.372.036.854.775.807

0

8 bytes

Single

Como el tipo float de C.

0.0

4 bytes

Float

Como el tipo double de C.

0.0

8 bytes

Date

Fecha y hora, cada una almacenada en un entero.

NULL

8 bytes

String

Una cadena con un número variable de caracteres.

NULL

4 bytes

Variant

Cualquier tipo de dato.

NULL

12 bytes

Object

Referencia anónima a un objeto.

NULL

4 bytes

Pointer

Una dirección de memoria.

0

4 bytes

Será el programador el que elija el tipo de dato con el que debe ser declarada una variable. Siempre se ha de tender a usar los tipos de datos más pequeños, puesto que ocupan menos memoria y el microprocesador los maneja con más velocidad. Sin embargo, eso puede limitar las opciones de la aplicación, por lo que a menudo se opta por tipos mayores para no cerrar posibilidades.

5. Asignación de variables

Puede asignarse cualquier valor a una variable en Gambas mediante la siguiente sintaxis:

Variable = Expresión

Donde Expresión representa cualquier valor numérico, cadena de texto, nombre de variable, etc.

Declaración de variables

Esto sirve para indicarle a Gambas que vamos a utilizar 4 variables en nuestro programa. Aquí declaramos 4 variables de diferentes tipos, pero no hacemos nada más.

PUBLIC iMiValor AS Integer 'variable de tipo entero (Integer)
PUBLIC sMiNombre AS Sring 'variable de tipo texto (String)
PUBLIC fMiNumero AS Float 'variable de tipo real (Float)
PUBLIC sTuNombre AS String ' variable de tipo texto (String)

Asignación de valores

iMiValor = 1982 ' la variable toma el valor entero 1982
sMiNombre = "Juan" ' la variable toma el valor del texto “Juan”
fMiNumero = 123.45 ' la variable toma el valor real 123.45
sMiNombre = sTuNombre ' a la 1ª variable se le asigna el valor de la 2ª variable

6. Comentarios en BASIC

En todos los lenguajes de programación resulta muy conveniente documentar los programas, con comentarios que describan la función de los distintos bloques que constituyen el programa. En BASIC los comentarios se escriben siempre con una comilla simple delante. Por ejemplo:

'Esto es un comentario

 

Ojo

Los comentarios pueden aparecer en cualquier parte del programa y no son, en ningún momento, ejecutables. Es decir, al compilar el programa, el compilador hará caso omiso de los comentarios.

Ejercicios
Ejercicio
 
  • Abre el proyecto “02PrimerProy”.
  • En la ventana de carpetas, abre el módulo “Miprograma”.
  • Elimina la línea PRINT "Hola soy ....".
  • Modificarás el código para añadir variables y constantes. Vas a añadir una variable que va a cambiar de valor y una constante que permanecerá con un valor fijo. Tu módulo debe quedar como sigue:

Nuestro programa

 

Ojo

La palabra reservada DIM sirve para declarar variables dentro de funciones y procedimientos (más adelante veremos qué son).

 
  • Guarda los cambios del proyecto.
  • Pulsa en el botón con el símbolo del Play (para ejecutar el programa), que está en la pantalla del proyecto.

Ejecutar el proyecto

  • Aparecerá una nueva ventana llamada Consola en la que se verá la salida de nuestro programa. Si no se muestra la consola de texto, haz clic en el icono Consola de la barra de herramientas.
  • Comprueba que el texto mostrado cambia, ya que hemos cambiado el valor de la variable.
  • Comprueba que la constante no ha cambiado de valor y se muestra según nuestro valor inicial.

Ejecución

  • Ahora tendrás que modificar tú el programa sin ayuda.
  • Modifica el valor de la constante. Deberás asignarle el nombre de tu profesor.
  • Modifica el valor de la variable. Primero asígnale tu nombre y después tu apellido.
  • Ejecuta el programa. El resultado debe ser algo parecido a lo siguiente (pero con tus datos)

Ejecución

  • Guarda los cambios del proyecto.
  • Sube a la plataforma la captura de la pantalla donde se vea la ejecución del programa que acabas de hacer mostrando el valor de la variable (que primero contendrá tu nombre y después tu apellido) y el valor de la constante (que habrás puesto el nombre de tu profesor)
Fuentes de información Sugerencias

Sería interesante que te guardaras en una memoria USB todo el contenido de la carpeta BASIC de tus documentos, para evitar que cualquier problema con el ordenador te haga perder tus ejercicios.