100% encontró este documento útil (2 votos)
214 vistas2 páginas

Tipos de Datos Abstractos en TDI

Este documento describe los tipos de datos abstractos (TDA). Un TDA define valores y operaciones sobre ellos sin especificar detalles de implementación, proporcionando abstracción. Se describe el TDA diccionario, que vincula claves y valores, y cómo su implementación puede variar sin afectar el código que lo usa. Los TDA brindan flexibilidad ante cambios mediante abstracción y ocultamiento de información. Se incluyen dos ejemplos de TDA.

Cargado por

getse
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
214 vistas2 páginas

Tipos de Datos Abstractos en TDI

Este documento describe los tipos de datos abstractos (TDA). Un TDA define valores y operaciones sobre ellos sin especificar detalles de implementación, proporcionando abstracción. Se describe el TDA diccionario, que vincula claves y valores, y cómo su implementación puede variar sin afectar el código que lo usa. Los TDA brindan flexibilidad ante cambios mediante abstracción y ocultamiento de información. Se incluyen dos ejemplos de TDA.

Cargado por

getse
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

LICENCIATURA EN TECNOLOGIA E INFORMACION

Estructuración de datos
Actividad 2: Resumen del tema tipo de datos abstractos

ALUMNO: JULIO ALEJANDRO ARREGUIN PEREZ

Concepto de TDA
Un Tipo de Dato Abstracto (TDA) es un modelo que define valores y las operaciones que se
pueden realizan sobre ellos. Y se denomina abstracto ya que la intención es que quien lo utiliza,
no necesita conocer los detalles de la representación interna o bien el cómo están implementadas
las operaciones.

Es por esto una práctica que nos provee un grado de abstracción que permite desacoplar al código
que usa un TDA de aquel código que lo implementa.

TDA Diccionario

Un Diccionario o Mapa (en software) es una abstracción que vincula un dato con otro. Así como
en el diccionario de idioma, asocia una palabra con su definición, y podemos buscar en el a través
de la palabra. El TDA Mapa/Diccionario permite tener muchas "entradas" y cada una de estas
tendrá una "clave" y un "valor" asociado. Es interesante notar que el concepto de
diccionario/mapa no define cómo se asociarán esos datos, es decir cómo se van a guardar
internamente los valores. Entonces podríamos tener una implementación que usa dos listas
paralelas, u otra que use un array de tuplas, etc. etc. Para el código que utiliza el
Diccionario/Mapa es indiferente. Es algo así como un detalle de implementación.

Acá vemos un ejemplo muy simple donde un fragmento de código sabe recorrer un mapa e
imprimir "clave=valor".

Este código puede funcionar tanto con un TDA implementado como un vector de tuplas, así
como también con una implementación diferente que utilice dos vectores paralelos (uno para las
claves y otro para los valores).

Objetivo (Abstracción -> Flexibilidad)


El objetivo o la utilidad de la idea de usar TDA's es la de conseguir una mayor flexibilidad. Y
esto lo logramos mediante el concepto más general de abstracción. Como vimos en el ejemplo, el
código que utiliza el TDA no conoce ni depende de la implementación de las operaciones.
La abstracción es probablemente el concepto más general y más importante de la programación
(o cualquier otra resolución de problemas).
Características y uso de recursos informativos
en los Programas educativos de UDGVirtual

En parte tiene que ver con la famosa idea del divide y conquista. Porque separamos los
problemas, hacemos que diferentes partes de la aplicación se ocupen de una y solo una parte del
problema. Así, si luego alguna de ellas cambia, las demás partes no se ven afectadas (o al menos
el impacto no es tan grave).

Es por esto que obtenemos flexibilidad, ante el cambio.

Todo esto muy lindo en teoría. Para bajarlo más a detalle, necesitamos entender otros dos
conceptos: Encapsulamiento y Ocultamiento de la Información

Ejemplos

1. #define MAX 5000


struct SET
{A e[MAX];
int tope;
};

2. #ifndef Racionales
#define Racionales
typedef struct TipoRacional* Racional;
< declaraciones de operaciones sobre Racionales >
#endif Racionales

También podría gustarte