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ícitamente al definirla. 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++ que en ANSI C. El nombre de la etiqueta enum se considera como un nombre de tipo igual que las etiquetas de struct y union. Por tanto se puede declarar una variable de enumeración, estructura o union sin utilizar las palabras enum, strcut o union. C define el tipo de enum de tipo int. En C++, sin embargo, cada tipo enumerado es su propio tipo independiente. Esto significa que C++ no permite que un valor int se convierta automáticamente a un valor enum. Sin embargo, un valor enumerado se puede utilizar en lugar de un int.
Ejemplo:
enum lugar{
primero,
segundo,
tercero
};
lugar pepe=primero; //correcto
int vencedor=pepe; //correcto
lugar juan=1; //incorrecto
La última sentencia de asignación es aceptable en C pero no en C++, ya que 1 no es un valor definido en lugar.
Elementos Basicos.
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”.
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 pseudolenguaje 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
Clasificacion 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
--
Fuente Original:
http://www.mitecnologico.com/Main/TiposDeDatosEnumerados
No hay comentarios:
Publicar un comentario