martes, 4 de junio de 2013

TIPOS DE DATOS

TIPO DE DATO 

Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc.
Por ejemplo, por lo general el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas en este caso incluyen la adición y la sustracción, pero no la multiplicación.
Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de lamatemática y la lógica.
En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.1 Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá, por ejemplo, un nombre y una fecha de nacimiento.
Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, la interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.


EL TIPO INTEGER (ENTERO)

 El tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al declarar una variable de tipo entero, estás creando una variable numérica que puede tomar valores positivos o negativos, y sin parte decimal.
Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones, expresiones aritméticas, etc. Algunos de los papeles más comunes que desarrollan son:
  • Controlar un bucle
  • Usarlas como contador, incrementando su valor cuando sucede algo
  • Realizar operaciones enteras, es decir, sin parte decimal
  • Y muchas más...

A continuación tienes un ejemplo en el que aparecen dos variables enteras. Como puedes ver, en el ejemplo se muestran las dos maneras de declarar una variable de tipo entero: 

      
   type
      tContador = integer;
   var 
      i : tContador;
      n : integer;

   begin
      n := 10; (* asignamos valor al maximo *)
      i := 1;  (* asignamos valor al contador *)
   
      while (i <= n) do begin
        writeln('El valor de i es ',i);
        i := i + 1
      end
   end.   
      



EL TIPO BOOLEAN (LÓGICO)

El tipo de datos lógico es el que te permite usar variables que disponen sólo de dos posibles valores: cierto o falso. Debido a esto, su utilidad salta a la vista, y no es otra que variables de chequeo. Nos sirven para mantener el estado de un objeto mediante dos valores:
  • si/no
  • cierto/falso
  • funciona/no funciona
  • on/off
  • etc.

Para aclararlo, veamos un ejemplo:

      
   type
      tLogico = boolean;
   var 
      llueve   : tLogico;   (* si llueve o no *)
      paraguas : boolean;   (* si encuentro o no el paraguas *)

   begin
      (* aqui se determinarian los valores de "llueve" y "paraguas" *) 
      
      if llueve and (not paraguas) then         
         writeln('Me quedo en casita')
      else 
         writeln('Me voy a dar un paseo')
   end.   
      



EL TIPO REAL (REAL)

 Pascal soporta el conjunto entero de números. Pero no es el único, también te permite trabajar con números pertenecientes al conjunto real.
El tipo de datos real es el que se corresponde con los números reales. Este es un tipo importante para los cálculos. Por ejemplo en los estadísticos, ya que se caracterizan por tratar fundamentalmente con valores decimales.

nota: Aunque pueda que estés acostumbrado a escribir con coma los decimales, te advierto que en Pascal y en todos los lenguajes de programación se escribe con un punto. Por ejemplo:3.1416

A continuación tienes un ejemplo en el que se utiliza el tipo real. En el puedes ver las dos formas de declarar una variable real, y tambíen el uso de una constante real. Por si tienes curiosidad, el resultado de ejecutar el programa compilado es:
El area para un radio de 3.14 es 63.6174

   const
      pi = 3.1416;      
   type
      tArea = real;
   var 
      A : tArea;     (* area *)
      R : real;      (* radio *)

   begin
      R := 4.50;
      A := pi * R * R;    (* calculamos el area *)
      
      writeln('El area para un radio de ',R:4:2,' es ',A:8:4)
   end.   
      




LOS TIPOS CHAR Y STRING (CARÁCTER Y CADENA)

Con el tipo carácter puedes tener objetos que representen una letra, un número, etc. Es decir, puedes usar variables o constantes que representen un valor alfanumérico. Pero ojo, cada variable sólo podrá almacenar un carácter.
Sin embargo, con las cadenas de caracteres (strings) puedes contener en una sóla variable más de un carácter. Por ejemplo, puedes tener en una variable tu nombre.
Veamos cómo se usan ambos tipos en el siguiente ejemplo

      
   type
      tNombre = string[10];  (* puede almacenar 10 caracteres *)
   var 
      nombre    : tNombre;  (* variable para almacenar el nombre *)
      letra_NIF : char;     (* caracter para contener la letra del NIF *)

   begin
      nombre    := 'Beni';
      letra_NIF := 'L';
      
      writeln('Mi nombre es ',nombre,' y mi letra es ',letra_NIF)      
   end.   
      



1 comentario: