< Gambas


Tipos de Datos

Los datos son abstracciones del mundo real que son necesarias para la resolución de una tarea y están representadas de forma que puedan ser procesadas por la computadora. Un dato puede ser único elemento o un conjunto de ellos que aporte información sobre el problema.

Si el dato está formado exclusivamente por números, será de tipo numérico. Si está formado por letras será de tipo alfanumérico, ya que puede contener datos numéricos, caracteres especiales y letras. los datos lógicos o “booleanos”, únicamente pueden tomas dos valores: Cierto (True) o Falso (False).

Los datos pueden ser variables y constantes.


Tipo Rango de Valores
BooleanVerdadero o Falso
Byte0 a 255
Short-32.768 a +32.767
Integer-2.147.483.648 a +2.147.483.647
Long -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807
SingleIgual que el tipo float en C
FloatIgual que el tipo double en C
Date Fecha y Hora, cada uno almacenado como un entero
String Una cadena de caracteres de longitud variable
VariantCualquier tipo de dato
Object Referencia anónima a cualquier objeto
PointerUna dirección de memoria

Variables

Una variable es un dato que se almacena en la memoria de la computadora, del que su valor puede variar a lo largo de la ejecución del programa. Una variable, en general, consta de: un identificador o nombre, que es una cadena de caracteres que sirve para referenciarla, y un valor.

Declaración

  • Sintaxis

[STATIC] {PUBLIC|PRIVATE} Identifier [Static array declaration] AS Datatype [=Expression]

STATIC PUBLIC GridX AS Integer
STATIC PRIVATE bGrid AS Boolean
PUBLIC Name AS String
PRIVATE Control AS Object
PRIVATE Languages AS String[] = [ "fr", "it", "es", "de", "ja" ]
PRIVATE DefaultLanguage AS String = Languages[1]
'Todas las declaraciones DIM debe estar en FUNCTION o SUB antes de cualquier comando ejecutable
DIM fTimeDiff2 AS Float
DIM iTest AS Integer
DIM iK[9] AS Integer 'ik[0] to ik[8]
DIM shX[3,3] AS Short
DIM date1 AS Date
  • Sintaxis

[STATIC] {PUBLIC|PRIVATE} Identifier AS NEW Native Datatype [Array dimensions...]

PUBLIC CONST WORD_MAX AS Integer = 12
PRIVATE Words AS NEW String[WORD_MAX * 2]
PUBLIC Matrix AS NEW Float[3, 3]

Asignación

Destination = Expression
iVal = 1972
Name = "Gambas"
hObject.Property = iVal
cCollection[sKey] = Name 

Constantes

Una Constante es un dato almacenado en la computadora del que su valor se mantiene fijo o constante durante la ejecución del programa. Las constantes pueden representarse:

  1. Indicando su valor (por ejemplo, 3.14, 13033 o "Este texto" son datos constantes de distinto tipo, o
  2. Empleando un identificador o nombre que permita hacer referencia a su valor en el programa. Imagina que asignamos al identificador “pi” el valor constante 3.14159. El identificador es más fácil de recordar que el valor y hace que el programa sea más sencillo de modificar si el valor de la constante variase, ya que bastará con actualizar el valor asignado al identificador.
  • Sintaxis

{PUBLIC|PRIVATE} CONST Identifier AS Datatype = Constant value

'Los tipos de datos de las Constantes pueden ser: Boolean, Integer, Long, Float o String
PUBLIC CONST MAX_FILE AS Integer = 30
PRIVATE CONST DEBUG AS Boolean = TRUE
PRIVATE CONST MAGIC_HEADER AS String = "# Gambas form file"

Operadores

Aritméticos

A = Numero1 + Numero2   'Suma dos números
A =- Numero             'Calcula el signo opuesto de un numero. El cero es el opuesto de él mismo
A = Numero1 – Numero2   'Resta dos números
A = Numero1 * Numero2   'Multiplica dos números
A = Numero1 / Numero2   'Divide dos números. Una división sobre cero causará un error [A Division By Zero (#26) error]
A = Numero ^ Potencia   'Eleva un numero a una potencia
A = Numero1 \ Numero2
A = Number1 DIV Number2 'Calcula el cociente de dos números enteros, truncando el resultado. Una división sobre cero causará un error (#26)
A = Numero1 MOD Numero2 'Calcula el remanente de un cociente de dos números. Una división sobre cero causará un error (#26)

De comparación

Numero1 = Numero2  'Retorna TRUE si dos números son iguales
Numero1 <> Numero2 'Retorna TRUE si dos números son diferentes
Numero1 < Numero2  'Retorna TRUE si Numero1 es estrictamente menor que Numero2
Numero1 > Numero2  'Retorna TRUE si Numero1 es estrictamente mayor que Numero2
Numero1 <= Numero2 'Retorna TRUE si Numero1 es menor o igual que Numero2
Numero1 >= Numero2 'Retorna TRUE si Numero1 es mayor o igual que Numero2
' Si el resultado de una comparación es asignado a una variable entera, entonces el resultado sera -1 (True) o 0 (False) 

De asignación

Variable = Expresión   'Asignación directa
Variable += Expresión  'Asignación con suma. Es sinónimo de Variable = Variable + Expresión
Variable -= Expresión  'Asignación con resta. Es sinónimo de Variable = Variable - Expresión
Variable *= Expresión  'Asignación con multiplicación. Es sinónimo de Variable = Variable * Expresión
Variable /= Expresión  'Asignación con división. Es sinónimo de Variable = Variable / Expresión
Variable \= Expresión  'Asignación con división de enteros. Es sinónimo de Variable = Variable \ Expresión
Variable &= Expresión  'Asignación con concatenación de texto. Es sinónimo de Variable = Variable & Expresión
Variable &/= Expresión 'Asignación con concatenación de ruta. Es sinónimo de Variable = Variable &/ Expresión

Comentar el código

Es una buena práctica agregar comentarios al código que escribes, independientemente si es un programa en Gambas o en cualquier otro lenguaje. En los ejemplos anteriores hacemos uso de los comentarios para proporcionar detalles del significado de los operadores. Todos los comentarios inician con un apostrofe (') y todo lo que se escriba después de él, sera ignorado por el compilador.

'Esta línea es ignorada por el compilador de Gambas
PRINT "Hola Mundo"   'Esta línea imprime Hola Mundo en la consola

Uno de los peores vicios de los programadores es no comentar su código, y después cuando tratan de darle mantenimiento a una sección de código que escribieron unos cuantos meses antes, son incapaces de recordar para que usaron ciertas variables o que función tiene una parte especifica de su código. Ahora imagina que estas trabajando en un proyecto de programación en equipo, donde cada desarrollador se encarga de escribir una parte del código, o una clase que sera usada por alguna otra parte del código. Muchos desarrolladores dicen que sólo los tontos comentan su código, pero creo que es al revés.

Este artículo ha sido escrito por Wikibooks. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.