Está en la página 1de 7

TECNOLGICO NACIONAL DE MXICO

INSTITUTO TECNOLGICO SUPERIOR DE APATZINGN


2016, Ao del Generalsimo Jos Mara Morelos y Pavn

INGENIERA EN SISTEMAS COMPUTACIONALES

ESTRUCTURA DE DATOS

UNIDAD 1 INTRODUCCION A LAS BASES DE DATOS

CONCEPTO Y TIPOS ABSTRACTOS DE DATOS EN JAVA

FRANCISCO JAVIER MENDOZA LICEA

PROFESOR: I.S.C. CARLOS SNCHEZ PREZ

GRUPO A

Agosto 2016
Km. 3.5 Carretera Apatzingn-Aguililla, Col. Tenencia de ChandioC.P. 60710, A.P. 49, Apatzingn, Michoacn,
Tel./Fax (453)-534-25-13 y (453)-534-03-71 WEB http://www.itsapatzingan.edu.mx, Email: itsapatzingan@itsa.edu.mx
Tipos abstractos de datos (TAD)

Algunos lenguajes de programacin tienen caractersticas que nos permiten


ampliar el lenguaje aadiendo sus propios tipos de datos. Un tipo de dato definido
por el programador se denomina tipo abstracto de datos (TAD) para diferenciarlo
del tipo fundamental (predefinido) de datos. Por ejemplo en Java, el tipo Punto que
representa las coordenadas x e y de un sistema de coordenadas rectangulares, no
existe. Sin embargo, es posible implementar el tipo abstracto de datos,
considerando los valores que se almacenan en las variables y qu operaciones
estn disponibles para manipular estas variables. En esencia, un tipo abstracto es
un tipo de dato que consta de datos (estructuras de datos propias) y operaciones
que se pueden realizar sobre ellos. Un TAD se compone de estructuras de datos y
los procedimientos o funciones que manipulan esas estructuras de datos.

La abstraccin de datos es la tcnica de programacin que permite inventar o


definir nuevos tipos de datos (tipos de datos definidos por el usuario) adecuados
a la aplicacin que se desea realizar. La abstraccin de datos es una tcnica muy
potente que permite disear programas ms cortos, legibles y flexibles. La esencia
de la abstraccin es similar a la utilizacin de un tipo de dato, cuyo uso se realiza
sin tener en cuenta cmo est representado o implementado. Los tipos de datos
son abstracciones y el proceso de construir nuevos tipos se llama abstraccin de
datos. Los nuevos tipos de datos definidos por el usuario se llaman tipos
abstractosde datos.

Los primeros pasos hacia la abstraccin de datos se crearon con lenguajes tales
como FORTRAN, COBOL y ALGOL 60, con la introduccin de tipos de variables
diferentes, que manipulaban enteros, nmeros reales, caracteres, valores lgicos,
etc. Sin embargo, estos tipos de datos no podan ser modificados y no siempre se
ajustaban al tipo de uno para el que se necesitaban. Por ejemplo, el tratamiento
de cadenas es una deficiencia en FORTRAN, mientras que la precisin y
fiabilidad para clculos matemticos es muy alta.

[1]

Un tipo abstracto de datos puede definirse mediante la ecuacin:

TAD = Representacin (datos) + Operaciones (funciones y


procedimientos)
Ventajas de los tipos abstractos de datos

Un tipo abstracto de dato es un modelo (estructura) con un nmero de


operaciones que afectan a ese modelo. Los TAD proporcionan numerosos
beneficios al programador, y se pueden presumir los siguientes:

1. Permiten una mejor conceptualizacin y modelizacin del mundo real.


Mejoran la representacin y la comprensibilidad. Clarifican los objetos
basados en estructuras y comportamientos comunes.
2. Mejoran la robustez del sistema. Si hay caractersticas subyacentes en los
lenguajes, permiten la especificacin del tipo de cada variable. Los TAD
permiten la comprobacin de tipos para evitar errores de tipo de tiempo de
ejecucin.
3. Mejoran el rendimiento (prestaciones). Para sistemas tipeados (tipificados),
el conocimiento de los objetos permite la optimizacin del tiempo de
compilacin.
4. Separan la implementacin de la especificacin. Permiten la modificacin y
la mejora de implementacin sin afectar la interfaz publica del TAD.
5. Permiten la extensibilidad del sistema. Los componentes de software
reutilizables son ms fciles de crear y mantener.
6. Recogen mejor la semntica del tipo. Los TAD agrupan o localizan las
operaciones y representacin de atributos.[2]

Implementacin de los tipos abstractos de datos en Java

La implementacin de un TAD en Java se realiza de forma natural con una clase.


Dentro de la clase va a residir la representacin de los datos junto a las
operaciones (mtodos de la clase). La interfaz del tipo abstracto queda
perfectamente determinada con la etiqueta public, que se aplicara a los mtodos
de la clase que representen las operaciones.

Por ejemplo, si se ha especificado el TAD Punto para representar la abstraccin


punto en el espacio tridimensional, la siguiente clase implementa el tipo: [3]

class Punto
{
//representacin de los datos
Private double x, y, z;
//operaciones
Public double distancia(Punto p);
Public double mofulo();
Public doubl anguloZeta();

}
En un cdigo en java funcional la clase Punto se vera as:

package punto;
/*
* @author Francisco Javier
*/
public class Punto {
private int x,y,z;
String dimension;
public Punto(int coorx,int coory){
this.x=coorx;
this.y=coory;
}
public Punto(int coorx,int coory, int coorz){
this.x=coorx;
this.y=coory;
this.z=coorz;
}
public Punto(){
this.x=0;
this.y=0;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
public int getZ(){
return z;
}
public String getDimensione(){
return dimension;
}
void setX(int valorX){
this.x=valorX;
}
void setY(int valorY){
this.y=valorY;
}
void setZ(int valorZ){

this.z=valorZ;
}
void setDimension(String dimen){
this.dimension=dimen;
}//fin de la clase

}
package punto;
/**
*
* @author Francisco Javier
*/
public class PruebaPunto {

public static void main(String[] args) {


Punto punto= new Punto();
punto.setX(66);
punto.setY(4);
punto.setZ(8);
punto.setDimension("3D");
System.out.println("Dimension:
"+punto.getDimensione());
System.out.println("Coordenada X: "+punto.getX());
System.out.println("Coordenada Y: "+punto.getY());
System.out.println("Coordenada Z: "+punto.getZ());

}//fin de la clase

Donde Punto es abstracto ya que contiene los mtodos y operaciones con los que
manipula, y al momento de hacer la prueba sabemos qu Punto contiene las
operaciones para llevas a cabo las instrucciones que se desean en su clase de
prueba. Como se puede notar se sabe que los resultados se dan pero no se sabe
cmo se llevan las operaciones sino hasta que se ve el cdigo fuente de la clase
Punto.

Las unidades de programacin de lenguajes que pueden implementar un TAD


reciben distintos nombres:

Modula-2 mdulo

Ada paquete

C++ clase

Java clase

En estos lenguajes se definen la especificacin del TAD, que declara las


operaciones y los datos, y la implementacin, que muestra el cdigo fuente de las
operaciones, que permanece oculto al exterior del mdulo.
Implementacin del TAD conjunto

La implementacin de un TAD se realiza segn la especificacin realizada del tipo.


La clase representa los datos de forma genrica, utiliza un array para almacenar
los elementos, de tipo Object. [3]

Especificacin de los TAD

El objetivo de la especificacin es describir el comportamiento del TAD; consta de


dos partes, la descripcin matemtica del conjunto de datos y la de las
operaciones definidas en ciertos elementos de ese conjunto de datos.

La especificacin del TAD puede tener un enfoque informal, que describe los datos
y las operaciones relacionadas en lenguaje natural. Otro enfoque mas riguroso, la
especificacin formal, supone suministrar un conjunto de axiomas que describen
las operaciones en su aspectos sintcticas y semntico.

Fuentes:

Mesogrficas:

1. http://users.dcc.uchile.cl/~bebustos/apuntes/cc30a/TDA/
2. http://es.slideshare.net/llastra/estructuras-de-datos-y-tipos-de-datos-
abstractos
3. http://blogalgoritmosyprogramacion.blogspot.mx/2012/07/tda-tipos-de-
datos-abstractos.html

Bibliogrficas:
4. Estructura de datos en Java, Luis Joyanes Aguilar, Ignacio Zohanero
Martnez. 1er Edicin.
5. Como programar en Java. P.J.Deitel, H.M.Deitel. 7ma. Edicin.
6. Estructura de datos en Java y algoritmos. Goodrich/Tamassia. 2da. Edicin.

También podría gustarte