> Manuales > Manual de iniciación a la programación

Qué son los datos y qué son los tipos de datos. Cuáles son los tipos de datos habituales en los lenguajes de programación y las diferencias en su gestión en lenguajes de tipado estático y tipado dinámico.

Tipos de datos

En este artículo vamos a abordar un tema muy importante en el área de la programación como son los tipos de datos. Hablaremos de tipos de datos de modo general, sin estar refiriéndonos a un lenguaje de programación en particular, porque has de saber que dependiendo del lenguaje puedes encontrar que manejan los tipos de datos de distintas maneras.

Antes de meternos de lleno en los diferentes tipos de datos os paso la descripción de dato para que todo quede claro desde el principio.

Dato

Un dato es cualquier elemento que necesitemos procesar en un programa. Los programas trabajan con datos de entrada, los cuales son manipulados mediante los procesos informáticos para producir unos datos de salida.

El dato está muy ligado a otro concepto que necesitamos conocer que es el de "información". Seguro que has oído comentar que la informática es el tratamiento automatizado de la información. Entonces ¿Qué es información y qué es dato? Para entender esta diferencia podemos acudir a algunos ejemplos.

Los datos se convierten en información cuando les damos un contexto. El número 0 puede ser cualquier cosa, pero ya cambia si te digo que faltan 0 días para mi cumpleaños ¿no? en ese caso el 0 es una información, sobre la cual decides que me tendrás que felicitar ya mismo!

Qué son los tipos de datos

Un tipo de datos es un conjunto de valores que tienen una característica en común y que responden a unas operaciones determinadas.

En un sistema informático trabajamos con datos y los lenguajes de programación necesitan saber cuál es el tipo de ese dato, para saber los valores posibles que podrían tener y las cosas que se permiten hacer con ellos.

Por ejemplo, 2 es un número entero. Lo podré sumar, restar y hacer otras operaciones matemáticas con otros números. "madrid" es una cadena de caracteres, que la podré comparar con otras cadenas, concatenar otras cadenas, etc.

Dependiendo del lenguaje de programación puede trabajar con unos tipos u otros. Por ejemplo hay lenguajes que distinguen entre números enteros y números decimales y otros lenguajes de programación en los que solamente se tiene el tipo de datos numérico, englobando tanto decimales como enteros en el mismo saco.

Clasificación de los tipos de datos

Como hemos dicho, todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como "x", una cadena como "hola", un valor entero tal como 35 o un valor numérico con coma flotante como "0.55". En todo caso, el tipo de dato nos indica el conjunto de valores que podría llegar a tomar una variable de un tipo en particular.

En todos los lenguajes de programación encontramos una clasificación de tipos de datos siempre presente, los tipos de datos simples y los tipos de datos compuestos.

Tipos de datos simples

Los tipos de datos simples, también llamados tipos de datos primitivos o tipos de datos básicos, son aquellos que contienen un elemento único de un tipo de datos particular y no se pueden descomponer en varios datos independientes.

Aquí tienes una lista de tipos de datos simples comunes en la mayoría de los lenguajes de programación, aunque ya depende de la implementación de ese lenguaje qué tipos de datos manejará:

De entre todos los tipos de datos mencionados en el listado anterior, que puede ampliar o reducir su número dependiendo del lenguaje, los más comunes son los siguientes:

Datos Numéricos: Permiten representar valores forma numérica, ya sean números enteros o números los reales (con decimales). Los datos de tipo numérico permiten realizar operaciones aritméticas como la suma, resta, etc.

Datos lógicos: Son aquellos que solo pueden tener dos valores: cierto (true) o falso (false). Llamamos a estos tipos de datos "boleanos" por la palabra en inglés "Boolean". Este tipo de datos se da muchas veces cuando se producen comparaciones entre valores de otros tipos y cuando queremos tomar decisiones con las estructuras condicionales.

Datos e tipo cadena (string): Los datos de tipo cadena, también llamados "string" o datos alfanuméricos consisten en una secuencia de caracteres, ya sean números, letras o signos diversos que aparecen en el teclado. Este tipo de datos es muy común en las aplicaciones ya que nos permiten guardar cosas como nombres, direcciones, emails... Los valores de este tipo de datos se representan generalmente encerrado entre comillas. Ya depende del lenguaje particular si se usan comillas simples, dobles o es posible usar ambas.

Como detalle a destacar, cabe decir que no es lo mismo el número 35 que la cadena "35". Aunque en el fondo es algo muy parecido, si lo encerramos entre comillas estamos almacenando caracteres numéricos y no un número. Un número lo podríamos sumar o restar a otro número, pero las cadenas de caracteres, por mucho que contengan únicamente números no suelen permitir cálculos matemáticos.

Existen más clasificaciones que podemos mencionar, aunque no son tan comunes. Por ejemplo, dentro de los datos básicos podemos encontrar datos estáticos y derivados. Los estáticos son los datos que manejamos generalmente, como los mencionados en la lista anterior. Cómo dato derivado nos encontramos con los punteros que hoy en día no se utilizan casi, a no ser que se programe en C.

Tipos de datos compuestos

Luego tenemos los tipos de datos compuestos, que también se denominan tipos de datos complejos o tipos de datos estructurados. Estos tipos de datos se componen de agrupaciones de tipos de datos simples.

Podemos poner algunos ejemplos de tipos de datos compuestos:

Un array es un conjunto de valores que se almacenan en una misma referencia de la memoria y donde en muchos lenguajes todos sus valores son del mismo tipo simple. Una estructura es la unión de varios tipos de datos simples, pero que pueden tener tipos distintos. Un objeto es un tipo de datos en el que podemos tener distintos tipos de datos simples, pero donde además tenemos operaciones asociadas a estos objetos. Es un poco pronto para poder aportar más detalles sobre cómo funcionan.

Estos tipos de datos compuestos también dependen del lenguaje de programación que estemos utilizando. Depende del lenguaje que implemente unos u otros tipos de datos complejos.

Constantes y variables

También muy asociados al concepto de tipo de datos encontramos otro como es el de variable, o constante. Hablaremos con más detalle de ellas, pero de momento podemos adelantar que los datos manejados en un algoritmo deben llevar asociado un identificador para que nos podamos referir a él cuando haga falta. Ese identificador es el nombre de la variable o constante.

Generalmente esa variable, o constante, tendrá distintas partes:

Se define como variable a una posición de memoria referenciada por un identificador donde se puede almacenar un valor determinado (Tipo de dato).

Se define como constante a un valor que no se modifica a lo largo de toda la ejecución del programa.

Identificadores

Los identificadores sirven para etiquetar y referenciar en el código a los datos de un programa (constantes, variables). Dicho de otro modo, toda variable o constante recibe un identificador a la hora de declararse. A través de ese identificador podemos referenciarla cuando queramos usar el dato que lleva dentro.

Técnicamente el identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora donde se encuentra un dato en particular. Los identificadores son los que nos permiten acceder a su contenido.

Ejemplos de identificadores:

Reglas para formar un identificador

No es posible llamar a las variables o constantes como nos da la gana. En cambio, cada lenguaje de programación permite crear identificadores con unas reglas determinadas. No obstante, hay algunas reglas que suelen ser comunes en la mayoría de los casos:

Consejos para usar buenos identificadores

Nosotros podemos escoger cualquier nombre para las variables y constantes, pero es importante que los nombres que hayamos elegido sean buenos. Para considerarse buenos nombres podemos seguir unos consejos básicos:

Tipado estático y tipado dinámico

También queremos hablar ahora de una de las características que más definen a los lenguajes de programación, que es su capacidad para aceptar distintos tipos de datos en una variable, o fijar el tipo de datos de la variable de manera que perdure a lo largo del tiempo.

Lenguajes con tipado estático tenemos a Java, C#, C. Lenguajes con tipado dinámico tenemos a PHP, Javascript, Python.

Sara Alvarez

Equipo DesarrolloWeb.com

Manual