Download - TIPOS DE ABSTRACTOS DE DATOS (TAD`S)
![Page 1: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/1.jpg)
TIPOS DE ABSTRACTOS DE DATOS (TAD`S)
Prof. Masun Nabhan Homsi
![Page 2: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/2.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/3.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/4.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/5.jpg)
TAD
DATOS---------------Invariantes
---------------Rutinas
Elemento del mundo
Modelaje
Objeto abstracto
![Page 6: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/6.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/7.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/8.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/9.jpg)
Ejemplo 1(TAD de una matriz)
![Page 10: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/10.jpg)
Ejemplo 1(TAD de una matriz)
![Page 11: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/11.jpg)
Ejemplo 2(TAD de un Diccionario)
![Page 12: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/12.jpg)
Ejemplo 2(TAD de un Diccionario)
![Page 13: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/13.jpg)
Ejemplo 2(TAD de un Diccionario)
![Page 14: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/14.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/15.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/16.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/17.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/18.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/19.jpg)
Otras operaciones del TAD Matriz
![Page 20: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/20.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/21.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/22.jpg)
Manejo de ERRORES
Informa el error: Ejemplo :
![Page 23: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/23.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/24.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/25.jpg)
Ejemplo 1: Conjunto de valores naturales en un rango dado.
![Page 26: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/26.jpg)
Ejemplo 1: Conjunto de valores naturales en un rango dado.
![Page 27: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/27.jpg)
Conjunto de valores naturales en un rango dado.
![Page 28: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/28.jpg)
Especificaciones de las operaciones :
Ejemplo 1: Conjunto de valores naturales en un rango dado.
![Page 29: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/29.jpg)
Ejemplo 1: Conjunto de valores naturales en un rango dado.
![Page 30: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/30.jpg)
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)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/31.jpg)
Formalismo : Operaciones :
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 32: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/32.jpg)
Formalismo : Operaciones :
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 33: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/33.jpg)
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 34: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/34.jpg)
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 35: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/35.jpg)
Implementación de la estructura del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 36: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/36.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 37: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/37.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 38: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/38.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 39: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/39.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 40: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/40.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 41: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/41.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 42: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/42.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 43: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/43.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 44: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/44.jpg)
Implementación de las operaciones del TAD
Ejemplo 2: Diseño del TAD CONJUNTO
![Page 45: TIPOS DE ABSTRACTOS DE DATOS (TAD`S)](https://reader035.vdocuments.pub/reader035/viewer/2022072417/62dc85bef7de9205436cca96/html5/thumbnails/45.jpg)
Gracias por su atención
1/14/2015Prof. Masun Nabhan Homsi