You are on page 1of 5

Mauro Figueroa Solana

206368786

Tipos de Datos Estructurados.

TIPOS DE DATOS ESTRUCTURADOS


Los datos estructurados o tipos compuestos se refieren a agrupaciones de otros tipos de datos definidos por el usuario. Tienen varios componentes, cada uno de los cuales puede ser puede ser un tipo simple de dato o un tipo estructurado de dato. Los componentes del nivel ms bajo de un tipo estructurado siempre sern tipos simples de datos. Se pueden hacer combinaciones y as crear tipos agregados, compuestos de elementos.

TIPOS DEFINIDOS POR EL USUARIO


Tipo Ordinal o tipo discreto: Cuando un tipo se compone de valores discretos que tienen un nico predecesor y sucesor. Incluye tipos carcter, booleano y entero.

TIPOS SUBRANGO
Se utiliza para restringir los valores de algn tipo padre para que estn dentro de un intervalo especificado. El tipo padre est limitado a tipo ordinal, aunque tambin puede tener subrangos de tipo punto fijo y punto flotante (en Ada). Los tipos sub rango son utilizados para hacer el cdigo ms legible, ayuda tambin en la verificacin de errores, por ejemplo: el valor de una variable fuera de un rango le avisa al programador un error de restriccin.

TIPOS ENUMERADOS
Se enumeran todos los valores que puedan tomarse mediante este tipo. Los valores se conocen como literales de enumeracin (identificadores). No pueden ser utilizados como nombres de variables. El tipo booleano es un tipo enumerado predefinido (false, true). El listado de las literales proporciona un ordenamiento de los valores discretos, razn por la cual tambin son tipos ordinales.

TIPOS AGREGADOS
Los tipos agregados estn formados por componentes de otros tipos. Los tipos son: cadenas, arreglos, registros. Estas combinaciones permiten hacer estructuras ms significativas. Arreglos. Es una coleccin de elementos de un mismo tipo homogneo. Est ligado de manera esttica con informacin proporcionada en la declaracin de tipo. Las entradas son seleccionadas mediante un ndice o subndice que especfica su ubicacin dentro del arreglo. La especificacin de un ndice de un arreglo permite la seleccin de una entrada del arreglo. Se utiliza generalmente [i] para denotar el ndice. Tambin existe un tipo de Arreglo no restringido (en Ada), en la que el tipo arreglo incluye el ndice, pero los lmites no se asignan sino hasta el tiempo de ejecucin. Una vez que se fija el

Mauro Figueroa Solana

206368786

Tipos de Datos Estructurados.

tamao (incluso en tiempo de ejecucin), el tamao no camba durante su tiempo de vida en el programa. La implementacin de arreglos requiere de informacin acerca del tipo, mantenida en un descriptor, como asignacin de memoria para las entradas del arreglo. Arreglos Unidimensionales: Permite almacenar N elementos del mismo tipo y acceder a ellos por medio de un ndice. Los componentes hacen referencia a los elementos que se almacenan en cada una de las celdas o casillas. El ndice especifica la forma de acceder a cada uno de los elementos. Arreglos Bidimensionales: Se hace referencia a los elementos de por medio de dos ndices. El primero de los ndices se utiliza para indicar la fila, y el segundo para indicar la columna. Arreglos de ms de dos dimensiones: Son similares a los bidimensionales, excepto porque cada elemento se debe referenciar por medio de tres o ms ndices. Son poco usuales en la prctica. Cadenas. Una cadena de caracteres se compone de una secuencia de caracteres. Ciertos lenguajes incorporan las cadenas como un tipo primitivo. En C, Pascal y Ada, el carcter es el tipo primitivo, por lo que las cadenas se deben almacenar como arreglos de caracteres. En pascal se almacena como arreglos empaquetados para su anlisis lexicogrfico. Enfoques para almacenar la longitud de cadena: Longitud de cadena esttica: Se requiere un declaracin del tamao de la cadena lastNameType = string [1 15]: Las cadenas deben ser del tamao especificado. Se usa en Pascal y Ada. Esquema de longitud variable con un mximo fijo. Las cadenas ms extensas son truncadas, y el compilador lleva la cuenta del nmero de caracteres llenados. Se usa en PL/I. Longitud de cadena dinmica. (dentro de ciertos lmites de memoria). Es necesaria una lista vinculada de caracteres, o las cadenas tendran que almacenarse en memoria dinmica en la pila. Se usa en SNOBOL4. Registros. Registros o Estructuras. Es una estructura agregada en que las entras pueden ser heterogneas. Permite que la informacin se mantenga en un elemento particular. Los componentes o campos se especifican utilizando identificadores con nombres de campos. Un registro simple es a menudo menos til en programacin que una coleccin de registros, tales como arreglos de registros. Uno de los campos tambin puede ser un apuntador, de manera que puedan crearse listas ligadas de registros.

Mauro Figueroa Solana

206368786

Tipos de Datos Estructurados.

Estructuras anidadas. Se presentan cuando en la declaracin de una estructura, por lo menos uno de sus componentes es una estructura. Estructuras con arreglos: Estructura en donde al menos uno de los campos de la estructura es a su vez otro arreglo. Tipos unin. Se utiliza para almacenar ms de un tipo de valor en la misma ubicacin. type intReal = union i: integer; r: real: end union; var x: intReal; y: real; X puede contener nicamente un solo valor de tipo entero o real. Los identificadores i y r se utilizan como etiquetas o discriminantes, que indican cul variable se est utilizando.

Uniones discriminadas. Las uniones discriminadas proporcionan compatibilidad con valores que pueden ser uno de los diversos casos con nombre, posiblemente cada uno con valores y tipos diferentes. Las uniones discriminadas son tiles para los datos heterogneos; datos que pueden tener casos especiales, incluidos casos vlidos y casos de error; datos cuyo tipo vara de una instancia a otra; y como alternativa a las jerarquas de objetos de tamao reducido. Adems, las uniones discriminadas se utilizan para representar estructuras de datos en forma de rbol. Uniones libres. Conjuntos. Es cualquier coleccin no ordenada de elementos distintos, a diferencia de los arreglos, los cuales estn ordenados. En Pascal, los elementos deben ser de tipo homogneo, limitado a los tipos enumerados y de subrango (porque son de tamao finito). Conjunto potente (powerset). Es la coleccin de todos los subconjuntos. Las limitaciones del uso de conjuntos es que el lmite en el tamao del conjunto base son dependientes de la implementacin y con frecuencia se mantienen pequeos. Listas. Las entradas en listas pueden ser ya sea elementos (autnomos) u otras listas. Las operaciones en listas incluyen la capacidad de construir y desamblar listas.

Mauro Figueroa Solana

206368786

Tipos de Datos Estructurados.

CUESTIONES DE TIPO
Si un lenguaje requiere declaraciones de tipo, el uso de una variable debe ser consistente con su tipo declarado. Adems, cuando las expresiones involucran algn operador son evaluadas, los tipos de operando deben ser consistentes con aquellos permitidos para ese operador. Verificacin de tipos. Es el proceso de evaluar las expresiones en cuanto a la compatibilidad de tipo. Equivalencia de Tipo: Se refiere bajo a qu circunstancias dos nombres de tipo se consideran el mismo tipo. Equivalencia estructural: Es cuando todos tienen la misma estructura, formado por los tipos primitivos. Equivalencia de Nombre: Cuando un lenguaje requiere que las variables y operandos tuvieran el mismo nombre de tipo. Se requiere para el paso de parmetros. Equivalencia de declaracin: Cuando los arreglos se consideran compatibles. Tipificacin Fuerte y Dbil Se dice que un lenguaje est fuertemente tipificado si las reglas de tipo son estrictamente impuestas tanto durante el tiempo de compilacin como durante el tiempo de ejecucin. Si las reglas de tipo no son impuestas, a pesar de las declaraciones de tipos implcitas o explcitas, el lenguaje se considera dbilmente tipificado. Definicin til de la tipificacin fuerte: Todo objeto ene l lenguaje pertenece a exactamente un tipo. Ocurre conversin de tipo a convertir un valor de un tipo a otro. La conversin no ocurre al visualizar la representacin de un valor como un tipo diferente.

Mauro Figueroa Solana

206368786

Tipos de Datos Estructurados.

You might also like