2.1 Tipos básicos de datos
Los tipos básicos de datos, también llamados primitivos, muy a groso modo, se pueden agrupar en 3: Los tipos de datos numéricos, los lógicos y los de texto (o alfanuméricos).
Dentro del grupo de los tipos de datos numéricos, a su vez, destacan dos tipos: los enteros y los reales.
Entre los tipos de datos de texto hay que mencionar dos: el tipo carácter y el tipo cadena (cadena de caracteres, o string).
Puedes ver de forma más esquemática esta agrupación de tipos de datos.
![]() |
Imagen de creación propia bajo licencia Creative Commons |
Este esquema en realidad es mucho más extenso, ya que cada lenguaje tiene multitud de tipos de datos, pero como se mencionó anteriormente, ahora debes captar las nociones elementales de los tipos de datos, por tanto, en principio, es preferible que te centres en unos pocos, los más generales y comunes:
- Tipo de dato entero: Son los números naturales positivos y negativos, más el cero. Se trata de un conjunto infinito de términos que en matemáticas usualmente se denomina "Z", compuesto por los números sin decimales. Cada término crece o decrece según para donde nos desplacemos en una unidad, por ejemplo 12, 13, 14, 15 o -3, -4, -5, -6. Son ejemplos 2, -4 y 0. En pseudocódigo se suele utilizar la palabra reservada "entero" para este tipo de datos.
- Tipo de dato real: Son los que pueden tomar como valores a los números racionales o irracionales. Este tipo de datos admite decimales. En matemáticas se denomina conjunto "R" y es también un conjunto infinito de términos. En este conjunto entre dos términos siempre existen un número infinito de términos. Para éstos, en pseudocódigo, se usa la palabra reservada "real".
- Tipo de dato lógico: Un dato lógico es aquel que sólo puede tomar valor verdadero o valor falso, es decir que algo se cumpla o no. Un ejemplo puede ser una puerta de paso, que puede estar abierta (asociamos por ejemplo verdadero) o cerrada (falso en este caso por oposición al convenio anterior). Para referenciar este tipo de datos en pseudocódigo se usa la palabra reservada "lógico".
- Tipo de dato carácter:El conjunto de valores que representa este tipo de datos es el formado por cualquier carácter que pueda representar el ordenador. Normalmente se representan entre comillas, ya sean dobles o simples (dependiendo del lenguaje). En pseudocódigo, para este tipo de datos, se utiliza la palabra reservada "carácter".
- Tipo de datos cadena: Una cadena es una secuencia de caracteres y se representa también normalmente entre comillas. Los espacios en blanco dentro del entrecomillado también son caracteres que forman parte de la cadena, por ejemplo "El gato" es una cadena de 7 caracteres. En pseudocódigo se usa la palabra reservada "cadena" para este tipo de datos.

Curiosidad
![]() |
Imagen en Flickr de Rev.Xanatos con CC |
El ordenador sólo puede manejar un conjunto finito de términos, por tanto, para los datos numéricos, que en la vida real son conjuntos de infinitos elementos, la máquina representará subconjuntos de Z y R, fijándose por tanto máximos y mínimos para cada categoría de datos. Por ejemplo para los enteros suele ser el intervalo de los números comprendidos entre el -32768 y el 32767. El lenguaje de programación establecerá en cada caso dicho intervalo, es por ello por lo que se deberá consultar la documentación del propio lenguaje para conocer con exactitud los límites.
Cuando el ordenador maneja un tipo de datos numérico concreto, y se intenta asignar un valor que está fuera del subconjunto que representa, se produce lo que se conoce como un error de desbordamiento (overflow en inglés). Cuando ocurre este error durante la ejecución de un programa, puede que el programa se detenga o puede que no. En caso de continuar, dará la sensación de no haber pasado nada, pero los resultados obtenidos no serían correctos, ya que el ordenador "intenta corregir" el desbordamiento asignando automáticamente un número que sí pertenezca al intervalo que se está representando en ese conjunto de datos (normalmente un cero).
Por ejemplo, supongamos que durante la ejecución de un programa, una operación que deba dar como resultado un número entero, se pasa del intervalo asignado a los números enteros (entre el -32768 y el 32767) y da un número mayor que el límite superior del intervalo (por ejemplo 45214), en ese caso se producirá un error de desbordamiento y la máquina asignará un cero a esa operación, y no el resultado real (45214). Lo sorprendente es que el ordenador no para la ejecución del programa, por ese motivo, esos errores son difíciles de detectar en nuestros programas.

Para saber más
Para complementar los contenidos y profundizar más sobre los mismos, puedes indagar sobre los siguientes aspectos:
- Más sobre tipos de datos: Existen diferentes tipo de datos como ya has visto. Para almacenar números reales (con decimales) has visto el tipo de dato "real" (float en muchos lenguajes), aunque hay otros que también pueden almacenar números con decimales y permiten ampliar el intervalo o subconjunto de los mismos que es capaz de manejar el ordenador. Se trata del tipo de dato "doble" ("double" en bastantes lenguajes). Hay otros tipos que podrías investigar: enumerados, subrango, tupla...
- Sobre conversiones de tipos de datos: En ocasiones, un programa necesita manipular variables de tipos de datos diferentes en una misma expresión. Por ejemplo, imagina que se desea sumar una variable de tipo entero (que almacenará un número entero) con una variable de tipo real (que almacenará un número real). Como los operadores están definidos para un tipo de dato concreto, la máquina se puede encontrar con una tesitura: ¿qué tipo de dato se debe tomar para cada dato? ¿y para el resultado final de la expresión?. Para ello se suele utilzar lo que se conoce como conversiones de tipo. Una conversión de tipo no es más que la transformación de una variable que está definida como un tipo de dato concreto, a otro tipo de dato, por ejemplo, de entero a real, o viceversa. Existen dos tipos de conversiones: conversiones implícitas y conversiones explícitas. Indaga sobre ellas.