Udemy

1.2 Tipos de datos abstractos (TDA)

1.Introducción a las estructuras de datos 

1.2 Tipos de datos abstractos (TDA)

    Este apunte esta orientado para introducirle, el concepto del mecanismo de Abstraccion y sobre el Tipo de Dato Abstracto (TDA), tengan en mente que este tema necesita tomarse con mucha mas  profundidad.

A medida que el desarrollo de software se hace mas complejo, se crean y diseñan a la par algoritmos y estructuras de datos. Se avanza de las estructura de datos abstractos o logicos hasta que se alcanza un refinamiento en la codificacion. Se han realizado dos formas de representar una estructura de un registro de maquina en un almacen. La primera utiliza un registro en el cual se definieron todos los componentes al mismo tiempo. La segunda usa un registro jerarquico en el cual las fechas y estadisticas que describen la historia de una maquina se definieron de menor nivel.


¿Cual de estas dos maneros es mejor?

La segunda es mejor por dos razones.
Primera, agrupa los elementos de modo logico. Las estadisticas y las fechas son entidades dentro de si mismas.
Segunda, los detalles de las entidades son llevados a un nivel inferior en la segunda estructura.

¿Que es la Abstracción?

     Bueno para arrancar vamos a definir el concepto de Abstracción, este concepto no es muy fácil de entender al principio, pero con tiempo y dedicación, uno logra captarlo.
     El concepto de la Abstracción o como comúnmente se denomina Mecanismo de Abstracción, en formas generales es la consideración de ciertas partes seleccionadas de un todo complejo, ignorando las partes sobrantes.
    Bien hasta aqui no aportamos mucho a la cuestión, para eso, vamos a aplicarlo a lo nuestro, es decir a un nivel mas de Ingenieria. La Abstracción me otorga la posibilidad de considerar una resolución de un cierto problema en el cual, no tenemos idea de como esta resuelto, o demostrado o etc, es decir, que ignoramos todo lo que esta por debajo del nivel que nos interesa. En este caso a nosotros nos interesa solo como se utiliza, lo cual un nivel inferior a lo que nos interesa es el “como esta implementado, o desarrollado, o demostrado, etc” por ende lo descartamos.
     Es mas podemos citar ejemplos en nuestra vida cotidiana en la cual, aplicamos el mecanismo de Abstracción constantemente sin quizas darnos cuenta que lo hacemos. Como por ejemplo:

  • Al utilizar la televisión, es decir no nos interesa el como funciona, solo sabemos usarla
  • Al utilizar el auto, solo sabemos conducirlo, pero quizas no sabemos su complejo funcionamiento interno 
  • Al programar en ciertos lenguajes, utilizamos funciones/procedimientos ya existentes sin saber como fueron construidos
     En el mundo del diseño de software, se reconoce que la abstracción es una necesidad absoluta para manejar proyectos de software inmensos y complejos. en los cursos de tu colegio o universidad, los programas son, en general, pequeños(quizás 50 a 300 lineas de código) y comprensibles en su totalidad por una persona. Sin embargo, los grandes productos de software comerciales compuesto de cientos de miles, incluso millones, de lineas de código no pueden ser diseñados, comprendidos o probados por completo sin usar la abstracción de varias formas. para manejar la complejidad, los desarrolladores usan por lo regular dos técnicas de abstracción importantes; abstracción de control y abstracción de datos. La abstracción de datos participa cuando se requiere un tipo de dato que no forma parte del lenguaje de programación.

Concepto de TDA

Un TDA o también conocido como Tipo de Dato Abstracto (quizás si leen algún libro que este en ingles, o buscan por Internet lo pueden encontrar como ADT que en ingles significa, Abstract Data Type) esta dado por un grupo de datos(vectores, registros, constantes, etc) que cumplen cierta condición especificada para el TDA, mas un conjunto de operaciones que representan el comportamiento del mismo. Es decir que el TDA tiene una identidad y un comportamiento, con el cual permite la interacción (comunicación) con el mismo. Otro punto muy importante y que tienen que saber siempre, es que el TDA es independiente del lenguaje en el que se quiera implementar, es decir, que cierto TDA puede implementarse en P ASCAL, C, C + +, C#, JAVA, etc. El TDA surgió para facilitar el trabajo con tipos de datos haciendo abstracción de la implementación de los mismos. Como verán en el TDA, se aplica el concepto de Abstracción en su totalidad. Es decir se aplica tanto en su utilización como en su construcción. Para eso vamos a analizar este concepto en dos fases. La utilización de un TDA y la construcción de un TDA.

Abstracción al utilizar un TDA 

    La utilización de un TDA, como se mencionó anteriormente, consiste en saber sobre que tema trata dicho TDA, que tipos de datos utiliza y cuales son las operaciones que ofrece (es decir, sus funciones/procedimientos). Bien usted puede decir: “Ok, pero si yo conozco todo esto, estoy sabiendo como esta implementado”. Esta afirmación es común y sepan que esta totalmente Errónea, ya que se como esta compuesto ese TDA, se todas las operaciones que me ofrece, pero no se como fue construido, es decir conozco la INTERFAZ (o el diseño), pero no se como dichas operaciones fueron construidas, que vendría a ser la IMPLEMENTACION . Para citar un ejemplo común es cuando ustedes en C#, utilizan el tipo de dato STRING, como sabrán y buscan en Internet el STRING ofrece muchas rutinas (funciones/procedimientos) con el cual me permiten manipularlo. Pueden fijarse dichas rutinas en el siguiente link:

https://msdn.microsoft.com/en-us/library/system.string(v=vs.110).aspx

Entonces podemos decir que STRING es un TDA compuesto por una cadena de caracteres, cuya rutinas que ofrece son las que aparecen en el link, en las cuales se me informa como se llaman y que es lo que hacen, pero en NINGÚN momento supe cuando ni como fueron programadas. Entonces, al utilizar el TDA STRING, estoy realizando el mecanismo de abstracción, considerando solo el nivel que me interesa (es decir, como funciona y como se utiliza) y descarto todo nivel inferior (en este caso, vendría a ser, como fue programado). Como conclusión, podemos decir que el mecanismo de abstracción se cumple al pie de la letra, al momento de utilizar un TDA. 

No hay comentarios.