Portada » Informática » Tipos de estructura de datos en informática
En la unidad 2 aprendimos a reconocer un problema y a especificar todos los elementos del mismo. Seguramente estarás recordando que, dentro de esos elementos que identificamos, se encontraban los Datos de Entrada y los Datos de Salida.
En esta unidad, veremos cómo se representan esos datos y para eso introduciremos las ideas de tipos de datos, variables y constantes. También presentaremos los tipos de datos a utilizar en los algoritmos y las operaciones que podremos realizar con cada uno de ellos.
Cuando hablamos de datos, tanto de entrada como de salida y decimos que tienen que tener un nombre para poder identificarlos, pero…
Ahora bien, ¿qué significa esto? Evidentemente un número real tiene carácterísticas distintas que un número entero, por ejemplo, la parte decimal. Del mismo modo que si nosotros escribimos un número entero o real en un papel, utilizamos distintos espacios, estos números ocuparán en memoria una cantidad de espacio diferente.
Además del espacio que ocupan estos números de distinto formato en la memoria, hay otras carácterísticas distintivas.
Es decir, con la edad, al ser un dato numérico, podremos hacer operaciones que se aplican a números, como por ejemplo sumar, restar, calcular promedios, obtener un máximo, entre otras operaciones.
Ahora bien, con el nombre de la persona, no podremos calcular el promedio, ya que no tiene sentido. Seguramente, usted ya se dio cuenta que con un nombre no se pueden hacer operaciones matemáticas, debido a que el dato no es un número.
En definitiva, seguramente pudieron identificar que hay dos carácterísticas que dependen del valor de los datos:
√ El espacio que ocupa en memoria.
√ Las operaciones disponibles.
Por lo tanto, es necesario poder identificar de alguna manera el conjunto de datos posibles para poder definir el espacio y las operaciones, y es debido a ello que surge la necesidad de tener un Tipo de Dato.
En este módulo, en el momento de desarrollar un algoritmo, trabajaremos con los Tipos de Datos simples, también llamados primitivos o estándares, que se encuentran definidos en la mayoría de los lenguajes de programación. En las siguientes unidades veremos la posibilidad de crear nuevos Tipos de Datos.
Los tipos de datos estándares son los mismos que definimos en el Análisis previo, y son los siguientes:
Tipo de Dato | Valor |
---|---|
Entero (Integer) | Números enteros |
Real (Float) | Números reales |
Carácter (Character) | Un solo símbolo (letra, dígito, signo, etc.) |
Cadena (String) | Un conjunto de caracteres (palabra, frase, etc.) |
Lógico (Boolean) | Verdadero o Falso |
A continuación, explicaremos las carácterísticas de cada uno de ellos:
Recordemos que no nos interesan las cuestiones físicas de los lenguajes o del límite de memoria, por lo tanto, no pondremos límites a los valores, teniendo disponible el conjunto de números enteros desde -∞ hasta ∞.
En un lenguaje de programación los tipos de datos están acotados ya que ocupan una cantidad finita de espacio en la memoria, pero de este tema nos ocuparemos cuando veamos ejemplos de lenguajes.
Tené en cuenta que los valores están encerrados entre comillas simples. Esta notación la utilizamos para poder diferenciar los números de los caracteres. Por ejemplo, el número entero 1 es un valor distinto que el carácter que representa al número 1.
De esta forma indicamos que 1 es distinto del carácter ‘1’.
Este tipo de dato es muy útil cuando trabajamos con valores o códigos de una sola letra o dígito. Más adelante veremos algunos ejemplos para aclarar estas ideas.
Este último dato es lo que conocemos como una cadena vacía (sin caracteres) y la representamos con dos comillas seguidas.
Estos datos los utilizaremos para realizar operaciones lógicas o para trabajar con condiciones. Por ahora solo lo mencionamos, ya que le dedicaremos bastante tiempo y realizaremos muchos ejercicios para afianzar este tema más adelante.
El tipo de dato lógico también se conoce como Boolean, en inglés.
Ahora es el momento de desarrollar los conceptos de programación para trabajar con los datos.
Para eso, recordemos que los datos se almacenan en la memoria, por lo tanto, habrá un espacio dedicado a guardar cada dato.
Seguramente estarás pensando que, como todo algoritmo tendrá varios datos, habrá en la memoria varios espacios destinados al almacenamiento de todos los datos. Evidentemente deberá haber alguna forma de no confundir estos espacios y poder trabajar con los datos correctamente. Para evitar esas confusiones utilizaremos un nombre único para ese espacio de memoria a lo largo de todo el algoritmo.
De esta manera podemos definir lo que es una variable:
Gráficamente, podemos imaginarlo así:
Una variable tendrá un nombre y un tipo de dato asociado, es decir, que tendrá un nombre y un valor. Así, tendrás que prestar mucha atención porque es muy fácil confundir el nombre de la variable con su valor. Pero…
Seguramente te estarás preguntando cómo definir una variable en un algoritmo.
Una variable se define declarando su nombre y el tipo de dato. De forma genérica, lo definimos como NOMBRE:TIPO DE DATO.
Por ejemplo, si queremos guardar la edad y el nombre de una persona, podemos definir dos variables de la siguiente manera:
EDAD: ENTERO
NOMBRE: CADENA
Una Constante, al igual que una Variable, tiene un nombre asociado a un valor de un tipo de dato.
Ahora bien, ¿cuál es la diferencia?
Para definir una Constante tendremos que especificar su nombre y su valor. El tipo de dato no es necesario indicarlo ya que será deducido de acuerdo al valor de la constante.
De forma genérica lo definimos como NOMBRE=VALOR
Veamos algunos ejemplos de definiciones de Constantes:
PI = 3,14
IVA = 0,21
VELOCIDAD = 200
SALIDA = 'X'
Hasta el momento, hemos podido especificar un problema algorítmico, y además conocer los tipos de datos con los que es posible definir los Datos de Entrada y los Datos de Salida.
Continuando con nuestros temas presentamos las operaciones que podemos realizar con cada tipo de dato. Así, agruparemos las operaciones en tres categorías de acuerdo al tipo de operaciones. De esta manera tenemos:
A continuación describimos cada tipo de operación…
Las operaciones aritméticas son las que se aplican a los datos numéricos. Veamos…
Operando | Operación | Se aplica a….. |
---|---|---|
+ | Suma | ENTERO Y REAL |
– | Resta | ENTERO Y REAL |
* | Multiplicación | ENTERO Y REAL |
/ | División | ENTERO Y REAL |
DIV | División entera | ENTERO |
RESTO | Resto de la División entera | ENTERO |
Las operaciones + – *
son las operaciones aritméticas que ya conocés.
La División, cuyo operador es el signo / se conoce como División Real, ya que devuelve el cociente real entre dos números, ya sean Enteros o Reales.
En cambio, la División Entera, cuyo operador es DIV devuelve el cociente entero entre dos números también enteros.
La operación RESTO es el módulo o resto de la división entre dos números enteros.
7 / 2 = 3,5
7 DIV 2 = 3
7 RESTO 2 = 1
Las operaciones DIV y RESTO se aplican solamente a valores enteros.
Estos operadores se utilizan para establecer relaciones de orden entre los datos. Son muy prácticas cuando queremos saber, por ejemplo, si dos variables tienen el mismo valor, o si alguna es mayor que otra.
Pensemos que le estamos pidiendo datos a un usuario y le decimos que ingrese un
(asterisco) cuando quiera finalizar. Vamos a necesitar el operador = para comparar cada valor que ingresa el usuario con el carácter *
para poder determinar que el usuario ya no tiene datos para ingresar, de la siguiente manera:
DATO = '*'
Del mismo modo, podemos verificar que una nota tenga un valor mayor o igual a 4 para saber si un alumno está aprobado. La operación la escribimos como:
NOTA >= 4
El conjunto de operaciones de relación se presentan en la siguiente tabla:
Operando | Operación | Se aplica a… |
---|---|---|
Menor | ENTERO, REAL, CARACTE0 | |
<> | Menor o igual | ENTERO, REAL, Carácter |
> | Mayor | ENTERO, REAL, Carácter |
>= | Mayor o igual | ENTERO, REAL, Carácter |
= | Igual | ENTERO, REAL, Carácter, CADENA, LÓGICO |
≠ | Distinto | ENTERO, REAL, Carácter, CADENA, LÓGICO |
Veamos algunos ejemplos para aclarar estas operaciones:
4 <>
'C' = 'C'
VERDADERO = VERDADERO
'120' ≠ '1'
Son aquellas que se aplican a los valores booleanos y representan las operaciones de la lógica proposicional. Estas operaciones ya las conoce porque se utilizan en la vida diaria.
Veamos algunos ejemplos:
Supongamos que tenemos ganas de salir un sábado a la noche, entonces podremos decir: «Vamos a ir al cine o a una pizzería.» Esta afirmación indica que vamos a ir a ver una película o iremos a comer a una pizzería, es decir, que realizaremos alguna de las dos cosas.
En cambio, si decimos: «Vamos a ir al cine y a una pizzería». Queremos indicar que vamos a hacer las dos cosas, veremos una película y también comeremos en una pizzería.
Con este ejemplo habrán notado la diferencia entre el “o” y el “y”.
Estas son las operaciones lógicas de disyunción y conjunción, y que representamos en la siguiente tabla:
Operando | Operación | Se aplica a… |
---|---|---|
Y | Conjunción | LÓGICO |
O | Disyunción | LÓGICO |
NO | Negación | LÓGICO |
p | q | p Y q |
---|---|---|
VERDADERO | VERDADERO | VERDADERO |
VERDADERO | FALSO | FALSO |
FALSO | VERDADERO | FALSO |
FALSE | FALSO | FALSO |
p | q | p O q |
---|---|---|
VERDADERO | VERDADERO | VERDADERO |
VERDADERO | FALSO | VERDADERO |
FALSO | VERDADERO | VERDADERO |
FALSO | FALSO | FALSO |
p | NO p |
---|---|
VERDADERO | FALSO |
FALSO | VERDADEO |
Volvamos a las actividades que realizó en la Unidad 2.
Teplanteamos dos problemas para que hicieras el Análisis de enunciados.
Ahora, te proponemos que para cada uno de los problemas, presentes las definiciones de Variables y Constantes que consideres necesarias.
Antes de pasar a la página siguiente te recomendamos resolver la consigna y, cuando finalices, podrás comparar tu solución con la que nosotros proponemos.
Recordemos el enunciado del problema 1:
VARIABLES
NÚMERO, SUMA: ENTERO
Las variables para el problema 2 son:
VARIABLES
EDAD, TOTAL_ALU, TOTAL_M, TOTAL_F, PORC_M, PORC_F: ENTERO
PROMEDIO_EDAD, PROMEDIO_EDAD_M, PROMEDIO_EDAD_F: REAL
SEXO: Carácter