Está en la página 1de 4

Programacin

Instituto Tecnolgico de Celaya

TIPOS DE DATOS ABSTRACTOS (TDA)


Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de datos definidos por el lenguaje. En pocas palabras, si los tipos de datos existentes en el lenguaje no son suficientes o no son eficientes para ciertas aplicaciones, la mayora de los lenguajes de programacin permiten al usuario definir sus propios tipos de datos. Esta definicin consiste en establecer los elementos de que consta el tipo as como las operaciones que se pueden realizar con instancias de este tipo.

DECLARACIN DE TDAS
Para construir un tipo abstracto se debe: 1) Establecer la definicin del tipo 2) Definir tambin las operaciones (funciones y procedimientos) que pueden operar con dicho tipo 3) Ocultar la presentacin de los elementos del tipo de modo que slo se puede trabajar con ellos usando los procedimientos definidos en 2) 4) Poder crear instancias mltiples del tipo Un TDA es el elemento bsico de la abstraccin de datos. Debe verse como una caja negra, pues la representacin y la implementacin deben permanecer ocultas, de forma que para trabajar con los elementos de un TDA el nico mecanismo permitido es el de usar las operaciones definidas para dicho TDA. La mayora de las aplicaciones de inters de los TDA implican el uso del concepto de apuntadores (referencia), que no son parte de los alcances de este curso. As, las operaciones y definiciones que se vern a continuacin son las ms elementales posibles, slo para ejemplificar la definicin y el uso de un TDA. La declaracin de TDAs requiere al menos el uso de dos palabras reservadas en C++. La primera de ellas es la palabra reservada struct. struct define una

Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

estructura de datos; se dice que struct permite crear un tipo de datos que est compuesto de uno o varios elementos denominados campos. Los campos, a su vez, pueden ser variables de tipos definidos por el lenguajes u otros TDAs. Considere el siguiente ejemplo: struct Tipo_Persona { int edad; double altura; double peso; char nombre[25]; }; En tal ejemplo, se esta creando una estructura de datos que definir un nuevo tipo. Este nuevo tipo se denomina Tipo_Persona. Observe que los elementos del nuevo tipo son cuatro, un nmero entero, un caracter y dos nmeros dobles; todos ellos representando caractersticas particulares del Tipo_Persona. En general, se esperara desarrollar operaciones sobre este nuevo tipo que permitieran modificar cada uno de estos 4 campos o elementos. Una vez definida esta estructura, para ejemplificar y mostrar el grado de abstraccin que puede lograrse, se describe ahora la segunda de las palabras reservadas tiles en la declaracin de TDAs. Esta segunda palabra reservada es typedef. typedef se utiliza para definir el alias o sinnimo de un tipo de datos. Observe el siguiente ejemplo: typedef struct Tipo_Persona Persona; Lo que esta sentencia lograra es que se est definiendo un nuevo tipo de datos llamado Persona, que contiene exactamente la misma estructura y elementos que la estructura Tipo_Persona definida arriba (por ello se dice que, al haber usado typedef, struct Tipo_Persona y Persona son sinnimos). En otras palabras, con las definiciones anteriores existira un nuevo tipo en el lenguaje
Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

denominado Persona, que podr utilizarse como cualquier otro tipo. Por ejemplo, si se tiene: Persona Gabriel, Antonio; Se estarn creando dos nuevas variables, Gabriel y Antonio, del tipo Persona. De esta forma, cada una de estas variables (Gabriel y Antonio) contiene todos los elementos definidos en la estructura Tipo_Persona. Obsrvese aqu, que la estructura que contienen estas dos nuevas variables queda oculta. Por ello se habla de que un TDA es el elemento bsico de la abstraccin de datos. La sintaxis de las dos palabras claves incluidas aqu es la siguiente:

struct identificador_1 {
nombre_del_Tipo elemento_1; nombre_del_Tipo elemento_2; nombre_del_Tipo elemento_n;

}; typedef struct identificador_1 sinonimo;

OPERACIONES SOBRE UN TDA


Las operaciones que se aplican a un TDA dentro de las siguientes tipos bsicos: 1) Construccin: Crean una nueva instancia del tipo 2) Transformacin: Cambian el valor de uno o ms elementos del tipo (numeral 2) generalmente caen

Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

3) Observacin: Permiten determinar el valor de uno o ms elementos de un tipo sin modificarlos 4) Iteradores: Permiten procesar todo los elementos de un TDA en forma secuencial Aunque aqu no se analizarn de la creacin de cada uno de estos tipos de operaciones, concluimos esta seccin mostrando la forma en que cada uno de los elementos de una estructura de datos puede ser accedido. Observe los siguientes ejemplos: Gabriel.edad = 25; Antonio.altura = 1.76; Observe que luego del nombre de las estructuras, el acceso a los elementos de dichas estructuras se realiza usando un punto y el nombre del elemento al que se quiere acceder. Logrado este acceso, los elementos de estas estructuras se pueden manipular como cualquier otra variable de su mismo tipo.

APLICACIONES
Las dos aplicaciones tradicionales de los TDA es la definicin de una lista o de una pila, ambos conceptos muy tiles en el rea de las estructuras de datos: 1) Una pila es una coleccin dinmica de datos de un mismo tipo, en la que los elementos se insertan y se extraen por un mismo extremo. 2) Una lista es una tambin una coleccin dinmica de datos de un mismo tipo, pero en este caso el acceso a cada uno de los elementos es por posicin; se considera aqu que cada elemento de la lista tiene un nico predecesor (excepto el primer elemento) y un nico sucesor (excepto el ltimo elemento). Nuevamente, dada la necesidad de usar apuntadores, no entraremos en detalles con estas aplicaciones.

Ingeniera Qumica

También podría gustarte