PDF de programación - Tipos de datos abstractos (TDA)

Imágen de pdf Tipos de datos abstractos (TDA)

Tipos de datos abstractos (TDA)gráfica de visualizaciones

Publicado el 8 de Mayo del 2018
434 visualizaciones desde el 8 de Mayo del 2018
130,2 KB
4 paginas
Creado hace 13a (20/01/2006)
Programación Instituto Tecnológico de Celaya

TTIIPPOOSS DDEE DDAATTOOSS AABBSSTTRRAACCTTOOSS ((TTDDAA))

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 mayoría de los lenguajes de

programación permiten al usuario definir sus propios tipos de datos. Esta

definición consiste en establecer los elementos de que consta el tipo así como

las operaciones que se pueden realizar con instancias de este tipo.



DDEECCLLAARRAACCIIÓÓNN DDEE TTDDAA’’SS

Para construir un tipo abstracto se debe:

1) Establecer la definición del tipo
2) Definir también las operaciones (funciones y procedimientos) que

pueden operar con dicho tipo

3) Ocultar la presentación de los elementos del tipo de modo que sólo se

puede trabajar con ellos usando los procedimientos definidos en 2)

4) Poder crear instancias múltiples del tipo



Un TDA es el elemento básico de la abstracción de datos. Debe verse como una

caja negra, pues la representación y la implementación 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 mayoría de las aplicaciones de interés 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 verán a continuación son las

más elementales posibles, sólo para ejemplificar la definición y el uso de un

TDA.



La declaración de TDA’s requiere al menos el uso de dos palabras reservadas en

C++. La primera de ellas es la palabra reservada struct. struct define una


Ingeniería Química

Programación Instituto Tecnológico 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 TDA’s.

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 número entero, un caracter y dos números dobles;

todos ellos representando características particulares del Tipo_Persona. En

general, se esperaría 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

abstracción que puede lograrse, se describe ahora la segunda de las palabras

reservadas útiles en la declaración de TDA’s. Esta segunda palabra reservada es

typedef. typedef se utiliza para definir el “alias” o sinónimo de un tipo de

datos. Observe el siguiente ejemplo:


typedef struct Tipo_Persona Persona;


Lo que esta sentencia lograría 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 sinónimos). En otras

palabras, con las definiciones anteriores existiría un nuevo tipo en el lenguaje

Ingeniería Química

Programación Instituto Tecnológico de Celaya

denominado Persona, que podrá utilizarse como cualquier otro tipo. Por

ejemplo, si se tiene:



Persona Gabriel, Antonio;



Se estarán 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. Obsérvese aquí, que la

estructura que contienen estas dos nuevas variables queda “oculta”. Por ello se

habla de que un TDA es el elemento básico de la abstracción 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;



OOPPEERRAACCIIOONNEESS SSOOBBRREE UUNN TTDDAA

Las operaciones que se aplican a un TDA (numeral 2) generalmente caen

dentro de las siguientes tipos básicos:

1) Construcción: Crean una nueva instancia del tipo
2) Transformación: Cambian el valor de uno o más elementos del tipo


Ingeniería Química

Programación Instituto Tecnológico de Celaya

3) Observación: Permiten determinar el valor de uno o más elementos de

un tipo sin modificarlos

4) Iteradores: Permiten procesar todo los elementos de un TDA en forma

secuencial

Aunque aquí no se analizarán de la creación de cada uno de estos tipos de

operaciones, concluimos esta sección 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.



AAPPLLIICCAACCIIOONNEESS

Las dos aplicaciones tradicionales de los TDA es la definición de una lista o de

una pila, ambos conceptos muy útiles en el área de las estructuras de datos:

1) Una pila es una colección dinámica 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 también una colección dinámica de datos de un mismo
tipo, pero en este caso el acceso a cada uno de los elementos es por

posición; 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.



Ingeniería Química
  • Links de descarga
http://lwp-l.com/pdf10934

Comentarios de: Tipos de datos abstractos (TDA) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad