Diferencia entre revisiones de «Tipos Abstractos de Datos»

De Cuba-Wiki
(El artículo era redundante al principio.)
 
Sin resumen de edición
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
== TADs (Tipos Abstractos de Datos) ==
Eze: Uní el artículo de diseño de TAD's con este ya que me parece que así queda mejor, si así les parece se podría borrar el artículo original de Diseño de TAD's
Son un conjunto de valores (dominio o género) + un conj. de operadores en ese dominio + las propiedades que determinarán inequívocamente su comportamiento


Matemáticamente hablando un TAD es un álgebra heterogenea.
Facu: Ojo que en este caso no es cuestion de si queda mejor o no, los dividimos porque son temas muy diferentes y muy grandes en si mismos entonces cuando deriven otros articulos dentro de diseño y especificación de TADs la cosa puede no quedar tan bonita. Sino tendríamos que meter inducción aca también... y eliminacion de la recursion... y todo, ya que Algo2 trata todo de TADs.
 
El uso de TADs para llevar a cabo esa abstracción tiene las siguientes ventajas:
 
*No requieren alta sofisticación matemática.
*Son muy flexibles (permiten modelar casi cualquier situación).
*Son generales (originariamente no fueron concebidos asociados a una metodología en  particular)
 
Es necesario utilizar una notación formal para describir el comportamiento de las operaciones.
 
El calificativo “abstracto” responde al hecho de que los valores de un tipo sólo pueden ser manipulados  mediante sus operaciones, conociendo únicamente sus propiedades, sin que sea necesario ningún conocimiento adicional sobre la representación del tipo o la implementación de dichas operaciones.
 
La manipulación de los objetos de un tipo solo depende del comportamiento descrito en su especificación y es independiente de su implementación.
La especificación de un TAD consiste en establecer las propiedades que lo definen. Una especificación ha de ser precisa, general, legible y no ambigua. La especificación de un tipo define totalmente su comportamiento a cualquier usuario que lo necesite.
 
La implementación de un TAD consiste en determinar una representación para los valores del tipo y en codificar sus operaciones a partir de esta representación, todo ello utilizando un lenguaje de programación. La implementación ha de ser estructurada, eficiente y legible. Una implementación del TAD es totalmente transparente a los usuarios del tipo y no se puede escribir hasta haber determinado claramente su especificación.
 
La resolución de problemas a través de TAD’s consiste en:
 
*Identificar los distintos tipos de datos que intervienen en el sistema que buscamos desarrollar, así como sus interacciones y forma de composición.
 
*Caracterizar cada tipo de datos en función de las operaciones que se puedan realizar con los objetos de los distintos tipos (haciendo abstracción de sus representaciones concretas).
 
 
Para mas información acceder a [http://www.dc.uba.ar/AlgoritmosII/Descargas/teorica_diseno.pdf/download Apunte TADs Algoritmos II Segundo Cuat. 2006]

Revisión del 01:40 7 oct 2006

Eze: Uní el artículo de diseño de TAD's con este ya que me parece que así queda mejor, si así les parece se podría borrar el artículo original de Diseño de TAD's

Facu: Ojo que en este caso no es cuestion de si queda mejor o no, los dividimos porque son temas muy diferentes y muy grandes en si mismos entonces cuando deriven otros articulos dentro de diseño y especificación de TADs la cosa puede no quedar tan bonita. Sino tendríamos que meter inducción aca también... y eliminacion de la recursion... y todo, ya que Algo2 trata todo de TADs.