45
TIPOS DE ABSTRACTOS DE DATOS (TAD`S) Prof. Masun Nabhan Homsi

TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Prof. Masun Nabhan Homsi

Page 2: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 3: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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.

Page 4: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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”.

Page 5: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

TAD

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

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

Elemento del mundo

Modelaje

Objeto abstracto

Page 6: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Especificación de un TAD

TAD <Nombre>

<Objeto Abstracto>Formalismo para representar

el Objeto Abstracto

<Invariante del TAD>

<Operaciones>

Page 7: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 8: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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:

Page 9: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 1(TAD de una matriz)

Page 10: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 1(TAD de una matriz)

Page 11: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 2(TAD de un Diccionario)

Page 12: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 2(TAD de un Diccionario)

Page 13: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 2(TAD de un Diccionario)

Page 14: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 15: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Clasificación de las operaciones

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

asignarMat, agregarPalabraDic

Page 16: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 17: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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.

Page 18: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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.

Page 19: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Otras operaciones del TAD Matriz

Page 20: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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.

Page 21: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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 :

Page 22: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Manejo de ERRORES

Informa el error: Ejemplo :

Page 23: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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.

Page 24: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Metodología de Diseño de TAD

Estructura de Datos

Identificar Elementos

Formalismo

Constructoras

Modificadoras

Otras Operaciones

Persistencia

Invariante Analizadoras

Page 25: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 26: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 27: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Conjunto de valores naturales en un rango dado.

Page 28: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Especificaciones de las operaciones :

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

Page 29: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 30: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

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

Page 31: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Formalismo : Operaciones :

Ejemplo 2: Diseño del TAD CONJUNTO

Page 32: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Formalismo : Operaciones :

Ejemplo 2: Diseño del TAD CONJUNTO

Page 33: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 2: Diseño del TAD CONJUNTO

Page 34: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Ejemplo 2: Diseño del TAD CONJUNTO

Page 35: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de la estructura del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 36: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 37: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 38: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 39: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 40: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 41: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 42: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 43: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 44: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Implementación de las operaciones del TAD

Ejemplo 2: Diseño del TAD CONJUNTO

Page 45: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)

Gracias por su atención

1/14/2015Prof. Masun Nabhan Homsi