1.4 Tipos de datos enumerados

Una enumeración o tipo enumerado es un tipo especial de estructura en la que los literales de los valores que pueden tomar sus objetos se indican explícita mente al definiría. Por ejemplo, una enumeración de nombre Tamaño cuyos objetos pudiesen tomar los valores literales Pequeño, Mediano o Grande se definiría así:

enum Tamaño
Pequeño,Mediano,Grande. 
}

Tipos enumerados. Un tipo enumerado o enumeración está construido por una serie de constantes simbólicas enteras. Los tipos enumerados se tratan de modo ligeramente diferente en C++. El nombre de la etiqueta enum se considera como un nombre de tipo igual que las etiquetas de struct y unión. Por tanto se puede declarar una variable de enumeración, estructura o unión sin utilizar las palabras enum, strcut o union.


Elementos Básicos.

Ya sabemos que en los algoritmos aparecen objetos que tienen tres características:Nombre. Tipo. Valor: Variables. Constantes. 

Tipo:
•Define el conjunto de valores que puede tomar un determinado
Objeto:
•Determina las operaciones que se pueden aplicar a un objeto.
•Define el espacio que será necesario reservar en memoria para albergar a un objeto.
•Define la interpretación del valor almacenado en memoria.

Cardinalidad:

•Es el número de valores que tiene un tipo de datos. La simbolizaremos con ‘#’.
Operadores básicos:
•Aspecto práctico: manipulación de objetos.
•Para ello:
•A cada tipo de datos se le asocia un conjunto de operadores básicos. ¿Cuántos?, ¿cuáles? Como criterio general: se le asocian aquellos que posibiliten al programador construir cualquier operación adicional, en función de los básicos, de una forma eficiente...
•Un mismo símbolo (por ejemplo ‘+’) puede utilizarse como operador para distintos tipos de datos. Esto se denomina “sobrecarga”.

Tipos de datos simples

Compatibilidad de tipo: 
Los operadores tienen que aplicarse a objetos de tipos de datos compatibles (iguales o no). 
La información del tipo de dato ayuda a los compiladores a detectar operaciones inapropiadas con tipos de datos no compatibles. 
Hay lenguajes de programación más estrictos que otros en cuanto al chequeo de tipos. 
En nuestro pseudo lenguaje seremos lo más flexible posible, pero tendiendo a aplicar operadores a tipos de datos iguales, con el fin de 
evitar posibles errores de diseño. 
Declaración de constantes y variables en nuestro pseudo lenguaje:

Constantes
nombre = valor
Variables
nombre : Tipo
Clasificación de tipos de datos simples:
•Tipos simples:
Predefinidos (N, Z, R, C, B)Definidos por el programador (enumerado y subrango)
•Tipos estructurados.
Arrays
Cadenas de Caracteres
Registros
Tipos de datos predefinidos:
Generalmente, y dependiendo del lenguaje de programación, existen unos tipos de datos que pueden utilizarse sin necesidad de definirlos. Básicamente son: 
Formados por elementos indivisibles. 
Formados por elementos ordenados, esto es, le son aplicables los operadores relacionales (=, >, <, , , ). 


Los tipos de datos son:
B Booleano
C Carácter
N Natural
Z Entero
R Real

Conversión de tipos

Para convertir un valor de un tipo origen a otro tipo destino, se utilizará el nombre del tipo destino como función conversora. Esto sólo es aplicable a los tipos de datos simples.


Tipo entero 
Sea N el número de bits usados para almacenar un valor entero. 
Valores: números enteros comprendidos en el rango 
Operadores aritméticos asociados: +,-,*,DIV,MOD. 
Representación: secuencia de dígitos (con posible signo ‘-‘ delante).


Tipo real
•Valores: números reales.
•Operadores aritméticos asociados: +,-,*,/
•Representación: secuencia de dígitos con el obligado punto decimal y con un posible factor de escala, aunque en nuestro 

No hay comentarios:

Publicar un comentario