El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.
La asignación de tipos a los datos tiene dos objetivos principales:
- Por un lado, detectar errores en las operaciones.
- Por el otro, determinar cómo ejecutar estas operaciones.
Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuación tienes una de las posibles clasificaciones:
Tipos estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no se tratarán debido a su complejidad.
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa.
Tipos dinámicos
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestión de memoria en tus programas.
Tipos simples
Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de aprender. Por todo esto, serán en los que nos centremos.
Los tipos simples más básicos son: entero, lógico, carácter y real.
Tipos estructurados
Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a colecciones de elementos.
Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.
Tipos ordinales
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:
Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales.
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no se tratarán debido a su complejidad.
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa.
Tipos dinámicos
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestión de memoria en tus programas.
Tipos simples
Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de aprender. Por todo esto, serán en los que nos centremos.
Los tipos simples más básicos son: entero, lógico, carácter y real.
Tipos estructurados
Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a colecciones de elementos.
Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.
Tipos ordinales
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:
Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales.
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:
Para aclararlo, veamos un ejemplo:
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)
Como ya has visto, 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.
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 también el uso de una constante real. Por si tienes curiosidad, el resultado de ejecutar el programa compilado es:
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:
En el ejemplo tienes en la parte izquierda el código del programa, y en la derecha la parte con la puedes jugar. Esencialmente, lo que tienes que hacer es:
Se debe asignar nombre a los datos de acuerdo a las reglas para formar identificadores. Al hacer la declaración de los datos también debe especificarse el tipo de dato que va a almacenarse en la posición de memoria especificada, los tipos de datos son: numérico, un carácter, una cadena de caracteres o un valor lógico
(verdadero o falso).
Vídeos
http://www.youtube.com/watch?v=TLbhqX9Oxuk
http://www.youtube.com/watch?v=5CBoxm_L38Y
Como ya has visto, 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.
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 también el uso de una constante real. Por si tienes curiosidad, el resultado de ejecutar el programa compilado es:
El área 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.
|
Veamos un ejemplo sobre tipos de datos
A continuación se presenta un ejemplo con el que puedes interactuar para que veas de forma más amena alguno de los conceptos sobre los tipos de datos.En el ejemplo tienes en la parte izquierda el código del programa, y en la derecha la parte con la puedes jugar. Esencialmente, lo que tienes que hacer es:
- Dar valores iniciales a las variables numero, char_A y char_B
- Y en función de estos valores y de las instrucciones que hay en el código, determinar cuál será el valor de cadena
program Prueba;
type
tNumero = integer;
tLogico = boolean;
tCaracter = char;
tCadena = string[5];
var
numero : tNumero;
cadena : tCadena;
char_A, char_B : tCaracter;
logico_A, logico_B : tLogico;
begin
(* aqui se iniciarian las vars. *)
(* ... *)
logico_A := numero > 3;
logico_B := numero < 6;
if logico_A and logico_B then
cadena := char_B
else
cadena := char_A;
end.
|
Se debe asignar nombre a los datos de acuerdo a las reglas para formar identificadores. Al hacer la declaración de los datos también debe especificarse el tipo de dato que va a almacenarse en la posición de memoria especificada, los tipos de datos son: numérico, un carácter, una cadena de caracteres o un valor lógico
(verdadero o falso).
Vídeos
http://www.youtube.com/watch?v=TLbhqX9Oxuk
http://www.youtube.com/watch?v=5CBoxm_L38Y
No hay comentarios:
Publicar un comentario