TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Preview:

Citation preview

TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Prof. Masun Nabhan Homsi

TAD/TDA

un conjunto de valores y un conjunto de operacionessobre tales valores. Este conjunto y estas operaciones forman una estructura matemática que se implementa en un lenguaje y en el computador como un tipo.

Ejemplo: En C, int {-65535 .......... 65536}+ +- -* * / / y %

Registro struct

TAD/TDA

Un TAD es un ente cerrado y autosuficiente, que no requiere de un contexto específico para que puedaser utilizado en un programa. Esto garantizaportabilidad y reutilización del software, y minimizan los efectos que se producen un cambio al interior de un TAD. Esta propiedad se denomina ENCAPSULAMIENTO.

TAD/TDA

Aho, Hopcroft y Ullman (1988) señalan que un TDA se entiende como “un modelo matemático con una serie de operaciones definidas en ese modelo” .

Guttag (1977) expresa que un TDA es “Una clase de objetos definida por una especificación independiente de la representación”.

Liskop (1974) establece que “Un TDA define una clase de objetos abstractos la cual está completamente caracterizada por las operaciones definidas para estos objetos”.

TAD

DATOS---------------Invariantes

---------------Rutinas

Elemento del mundo

Modelaje

Objeto abstracto

Especificación de un TAD

TAD <Nombre>

<Objeto Abstracto>Formalismo para representar

el Objeto Abstracto

<Invariante del TAD>

<Operaciones>

Especificación de un TAD

Especificación de la operaciones:Consta de DOS partes:

La funcionalidad (Especificación sintáctica): Dominio y Condiminio.

Forma general :<Operación>: <Dominio> == >> <Condominio>Ejemplo : filasMat: MATRIZ == >> int

Especificación de un TAD

Especificación de la operaciones: Comportamiento (Especificación Semántica) Pre-condición y Post-condición

Forma general:

Ejemplo:

Ejemplo 1(TAD de una matriz)

Ejemplo 1(TAD de una matriz)

Ejemplo 2(TAD de un Diccionario)

Ejemplo 2(TAD de un Diccionario)

Ejemplo 2(TAD de un Diccionario)

Clasificación de las operaciones

Se clasifican en TRES grupos : GRUPO I: Constructora : Se encarga de CREAR el

TAD y tiene la siguiente estructora

crearMAT y crearDic

Clasificación de las operaciones

GRUPO II: Modificadora: Altera el estado de un elemento del TAD, y su estructura general es :

asignarMat, agregarPalabraDic

Clasificación de las operaciones

GRUPO III : Analizadora : No altera el estado del objeto, sino tiene la misión de consultar y/o retornar algún tipo de información. Su estructura es:

infoMat, filasMat y columnasMat. SignifDic

Otros tipos de operaciones

Comparación : Es una ANALIZADORA que permite comparar dos TAD.

Copia: Es una MODIFICADORA que permite alterar el estado de un objeto del TAD copiándolo a partir de otro.

Destrucción: Es una MODIFICADORA que se encarga de borrar el TAD de la memoria dinámica.

Salida a Pantalla: Es una ANALIZADORA que permite visualizar los elementos del TAD.

Otros tipos de operaciones

Persistencia: Son operaciones que permiten guardar/leer el estado de un objeto abstracto de algún medio de almacenamiento en memoria secundaria.

Otras operaciones del TAD Matriz

Manejo de ERRORES

Tres tipos : Responsabilidad del usuario : La operación supone

que el elemento del TAD sobre el cual se va a ejecutar la operación, lo mismo que los argumentos de la llamada, cumplen con los requisitos planeados por la pre-condición de la operación. En caso de no cumplirlos, las consecuencias son problemas del cliente y el comportamiento de la operación es indefinida.

Manejo de ERRORES

Informa el error: En este caso, cada operación –sobre todo las modificadoras – verifican que la operación haya tenido éxito. Lo usual retorna un código informándole al clente el tipo de error detectado, o el éxito de la operación. La estructura de las MODIFICADORAS resulta la siguiente :

Manejo de ERRORES

Informa el error: Ejemplo :

Manejo de ERRORES

Responsabilidad de la operación : En este caso, la operación intenta recuperarse y si no lo consigue cancela la ejecución e informa la razón. Este esquema es utilizado por las operaciones que pueden verse afectada por problemas de memoria, o de Entrada/Salida, para las cuales no tiene sentido continuar la ejecución del programa.

Metodología de Diseño de TAD

Estructura de Datos

Identificar Elementos

Formalismo

Constructoras

Modificadoras

Otras Operaciones

Persistencia

Invariante Analizadoras

Ejemplo 1: Conjunto de valores naturales en un rango dado.

Ejemplo 1: Conjunto de valores naturales en un rango dado.

Conjunto de valores naturales en un rango dado.

Especificaciones de las operaciones :

Ejemplo 1: Conjunto de valores naturales en un rango dado.

Ejemplo 1: Conjunto de valores naturales en un rango dado.

Ejemplo 2: Diseño del TAD CONJUNTO

Objeto Abstracto : Conjunto de números enteros. Prefijo : C_ Formalismo :

CONJUNTO : {e1, e2... , en} donde ei int y n es la cardinalidad del

conjunto

Formalismo : Operaciones :

Ejemplo 2: Diseño del TAD CONJUNTO

Formalismo : Operaciones :

Ejemplo 2: Diseño del TAD CONJUNTO

Ejemplo 2: Diseño del TAD CONJUNTO

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de la estructura del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Gracias por su atención

1/14/2015Prof. Masun Nabhan Homsi

Recommended