2.3 Tipos de Datos

Anuncio
2.3 Tipos de Datos
2.3.1 Tipos de Datos
Simples
Tipos de datos simples,
estructurados y punteros
Tipos primitivos, representación,
tipos definidos por el usuario
Introducción
l
l
¿Cómo calzan los tipos de datos con
problemas del mundo real?
Evolución de los tipos :
l
l
l
l
l
Números enteros y reales
Arreglos y Registros
Cadenas de Caracteres
Definidos por el usuario
Tipo de dato abstracto
Representación de Números
l
Características de Representación
l
l
l
Conjunto Finito
Rango de representación y precisión depende del
largo del registro
Tipos Ordinales
l
l
l
l
l
l
l
l
l
l
1) Enumerados
2) Subrangos
Tipo Enumerado
Números enteros
Números de punto fijo
Números de punto flotante
l
entero, caracter y booleano
Tipos ordinales definidos por el usuario:
l
Tipos de Representación
l
Un tipo ordinal es aquel que puede ser
asociado a un número natural (ordenados)
Tipos ordinales primitivos:
Se enumeran todos los posibles valores a través de
constantes literales.
Relación de orden permite definir operadores
relacionales y predecesor y sucesor.
Mejoran facilidad de lectura y fiabilidad
Normalmente no se usan en E/S
1
Ejemplo : C y C++
Tipo Subrango
l
<enum-type> ::= enum [<identifier>] { <enum-list> }
<enum-list>
::= <enumerador> | <enum-list> , <enumerador>
<enumerador> ::= <identificador> | <identificador> = <constant-exp>
l
l
l
enum color {rojo, amarillo, verde=20, azul};
color col = rojo;
color* cp = &col;
if (*cp == azul) // ...
Subsecuencia contigua de un tipo ordinal
Introducido por Pascal
Mejora lectura y fiabilidad
Ejemplo: Pascal
type
mayuscula
indice
= ´A´..´Z´;
= LUNES .. VIERNES;
Tipos de Datos Primitivos
l
Numérico
l
l
l
l
l
Entero (e.g. C permite diferentes tipos de enteros:
signed, unsigned, short, long)
Punto flotante (e.g C permite float y double)
Decimal (típicamente 4 bits por dígito decimal)
Booleano (típicamente ocupa un byte)
Caracter (típicamente un byte y código ASCII;
Java usa Unicode con 2 bytes)
2
Descargar