Tipo de dato enumerado

Keywords: Tipo de dato enumerado

Tipo de datos enumerado Para definir un tipo enumerado se utiliza la sintaxis

( ident-1, ident-2, ..., ident-n )

donde ident-i es un identificador legal de Pascal, que no aparezca en otra definición de tipo enumerado. El objetivo es definir un tipo de datos cuyos valores sean los identificadores: ident-1, ident-2, ..., ident-n. Ejemplo ( B21, ABC, B33 ) define un tipo enumerado de datos. Pero ni ( 12531, 14405 ) ni ( A-, B+, B- ) son definiciones legales de tipo.8.3

La lista de valores que definen un tipo enumerado de datos se puede asociar con un identificador en la sección de tipos. Este identificador se puede usar después para especificar el tipo de variables, parámetros formales y valores de funciones. Ejemplo

TYPE

  DiasDeSemana = ( Lunes, Martes, Miercoles,
                    Jueves, Viernes, Sabado, Domingo ) 
 

VAR

 Dia : DiasDeSemana;
      .
      .
      .
 

FUNCTION Convertir ( x, y : integer ) : DiasDeSemana;

     .
      .
      .
 

PROCEDURE Calendario ( Dia : DiasDeSemana; VAR NumeroDeDia : integer );

     .
      .
      .
 

La lista de valores que definen un tipo enumerado se puede utilizar en la sección de variables para especificar el tipo de una variable, pero no se pueden utilizar en cabeceras de funciones y procedimientos. Los valores de un tipo enumerado están ordenados por la lista de valores en la definición de ese tipo. Los tipos enumerados son, por tanto, tipos ordinales. Para cualquier valor de un tipo enumerado, la función ord devuelve su posición en la lista de valores que define el tipo, empezando por la numeración. Los valores de los tipos enumerados se pueden comparar utilizando los operadores relacionales: =, <>, <, >, <=, >=. Las funciones predefinidas pred y succ se pueden utilizar para encontrar el predecesor y el antecesor de un valor de un tipo enumerado. Los valores de un tipo enumerado no se pueden leer desde un teclado o mostrarse en pantalla, ni se pueden leer o escribir en un archivo de texto. Se deben, por tanto, escribir procedimientos especiales de entrada/salida para los tipos enumerados: para la salida, se puede utilizar una instrucción CASE que seleccione la cadena apropiada para cada valor; para la entrada, se puede examinar toda la cadena, carácter a carácter, hasta determinar el valor del tipo enumerado que se asigna a la variable de entrada

Keywords: Tipo de dato enumerado