Tipos de datos definidos por el usuario

Solo disponible en BuenasTareas
  • Páginas : 6 (1301 palabras )
  • Descarga(s) : 4
  • Publicado : 11 de junio de 2010
Leer documento completo
Vista previa del texto
Tema 5. Tipos de datos definidos por el usuario
Contenido del tema:
– – – – – Enumerados Arrays Cadenas de caracteres Registros Arrays , cadenas de caracteres y registros en C++
Francisco Rus Mansilla Dpto. Lenguajes y Ciencias de la Computación
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 1

Tipos simples definidos por el usuario
• Los tipos enumerados:
– Permiten definirnuevos tipos simples, de cardinalidad (n) reducida, y valores fácilmente interpretables. – Se declaran en la sección de TIPOS de un algoritmo. ENUM {Id1, Id2, ..., Idn} IdTipoEnumerado – Literales: identificadores: Id1, Id2, ..., Idn – Son tipos ordinales: ORD(), SUC() y PRED(). – No tienen operadores específicos. – Representación física: como N o como Z. – La entrada/salida no está permitida. –El tipo booleano puede verse como un enumerado con dos valores: ENUM {VERDADERO, FALSO} B
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 2

Los tipos simples mejoran la legibilidad...
... aunque el dominio sea arbitrario...
CONST N ROJO = 1 N VERDE = 2 N AMARILLO = 3 /***********************/ /* Valores arbitrarios */ /***********************/

... y no haya manera derestringirlo y/o controlarlo.
VAR N color, semaforo INICIO color = ROJO // Más legible semaforo = 9 // Nada lo impide
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 3

Los tipos enumerados...
• Mejoran la legibilidad y permiten restringir y controlar el dominio.
TIPOS ENUM {rojo, amarillo, verde} TpColor VAR TpColor semaforo N posicion INICIO semaforo posicion semaforo semaforosemaforo semaforo = = = = = = amarillo ORD(rojo) // Asigna 1 PRED(verde) // Asigna amarillo SUC(verde) // Error semántico naranja // Valor no permitido 1 // Error semántico
21-nov-05 4

Introducción a los Computadores Tema 5. D. Usuario

Tipos enumerados en C++
/*Como definir tipos enumerados y variables de dicho tipo.*/ enum TpColor {rojo, azul,verde};

int main() { TpColor c1,c2; c1 = rojo;c2 = c1; //c1 y c2 con el mismo valor return 0; }
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 5

Tipos de datos compuestos
• Se componen de otros tipos (simples o compuestos a su vez).
– Componentes homogéneos: arrays. – Componentes heterogéneos: registros.

• No ordenados: no se les puede aplicar los operadores relacionales. • La asignación entre datos del mismo tipocompuesto es siempre posible: copia completa del dato.
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 6

Necesidad de los arrays
• Los tipos simples son atómicos. • Para representar colecciones de elementos los tipos simples no son manejables. • Las colecciones de elementos pueden ser:
– Homogéneas: todos los datos del mismo tipo → empleamos arrays para guardarlos. – Heterogéneas:pueden incluir datos de distinto tipo → empleamos registros para guardarlos.
Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 7

Ejemplo de necesidad de los arrays
• Supongamos que un fabricante de máquinas de café está interesado en conocer la popularidad de las diferentes combinaciones de café que dispensa la máquina. La máquina en cuestión dispone de cuatro botones etiquetadoscomo 1, 2, 3 y 4 junto con una nota que explica la función de cada uno de ellos:
1. 2. 3. 4. Café solo, sin azúcar. Café solo, con azúcar. Café con leche, sin azúcar. Café con leche, con azúcar.

Introducción a los Computadores Tema 5. D. Usuario

21-nov-05

8

Inicio Inicializar contadores Leer Selección

Selección !=0

Si Si
Actualizar Contador

No

1≤Selecc.≤4

No

LeerSelección Imprimir contadores

Fin Introducción a los Computadores Tema 5. D. Usuario 21-nov-05 9

Diseño en pseudolenguaje: tipos simples
ALGORITMO InformarCafetera VAR N soloSin, soloCon , conLeche, sinLeche, seleccion INICIO soloSin = 0 soloCon = 0 conLeche = 0 sinLeche = 0 Escribir (“¿Que número bebida ha seleccionado?: “) Leer (seleccion) de

MIENTRAS seleccion != 0 HACER CASO seleccion...
tracking img