Tda Y Modularidad
Un TDA es un conjunto de valores y de operaciones definidos por el programador mediante una especificación independiente de cualquier representación.
TAD = valores + operaciones
Se puede manipular de un modo similar a los tipos de datos definidos por el sistema. La manipulación de un TAD sólo depende de su especificación, nunca de su implementación.Un TDA es el elemento básico de la abstracción de datos. Su desarrollo es independiente del lenguaje de programación utilizado, aunque este puede aportar mecanismos que faciliten su realización.
Ejemplos de tipos de datos abstractos en Java
import java.util.LinkedList;
public class EjemploTDA {
public static void main ( String [ ] args) {
LinkedList<Object>lista = newLinkedList<Object >( );
Lista.add(new String( ”EjemploTDA ” ) ) ;
lista.addFirst(new Integer ( 4 2 ) ) ;
lista.addLast(new Character ( ’ e ’ ) ) ;
for ( Obje ct o : l i s t a )
System.out.println( o.toString ( ) ) ;
System.out.println( lista.size( ) ) ;
}
}
public class Conjunto {
private char contenedor[ ];
private int tam;
public Conjunto(){
contenedor = new char[256];
tam = 0;
}public Conjunto(Conjunto S){
contenedor = new char[256];
for (int i = 0; i < S.length; i++)
contenedor[i] = S.contenedor[i];
tam = S.tam;
}
public int posicion (char c){
int i = 0;
while (i < tam && contenedor[i] != c)
i++;
return i == tam ? -1 : i;
}
public boolean contiene (char c){
return posicion(c) >= 0;
}
public boolean vacio (){
return tam == 0;
}
publicboolean lleno (){
return tam == 256;
}
public void insertar (char c){
if (!contiene(c)){
contenedor[tam] = c;
tam++;
}
}
public void eliminar(char c){
int pos = posicion(c);
if (pos >= 0){
for (int i = pos+1; i<contenedor.length; i++)
contenedor[i-1] = contenedor[i];
tam--;
}
}
public Conjunto union (Conjunto s){
Conunto res = new Conjunto(s);
for (int i = 0; i <this.tam; i++)
res.insertar(this.contenedor[i]);
return res;
}
public Conjunto interseccion (Conjunto s){
}
¿Qué características debe tener un TDA para ser considerado como tal en Java?
La implementación de un TAD en Java se realiza de forma natural con una clase. Dentro de la clase va a residir la representación de los datos junto a las operaciones (métodos de la clase). La interfaz del tipoabstracto queda perfectamente determinada con la etiqueta public, que se aplicará a los métodos de la clase que representen operaciones.
Por ejemplo, si se ha especificado el TAD Punto para representar la abstracción punto en el espacio tridimensional, la siguiente clase implementa el tipo:
class Punto
{
// representación de los datos
private double x, y, z;
// operaciones
public doubledistancia(Punto p);
public double modulo();
public double anguloZeta();
...
}
¿Qué es modularidad?
Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Esta división exige la presencia de un módulo denominadomódulo de base o principal a objeto de que controle y se relacione con los demás. Estos módulos se compilan por separado, pero tienen conexiones con otros módulos.
Mencione las ventajas y desventajas de realizar programas bajo el esquema de módulos
Ventajas: Un programa modular es fácil de mantener y modificar, es más fácil de escribir y depurar (ejecutar, probar y poner a punto), es másfácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores nóveles. Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas. Ordenamiento del código. Realizar trabajos más complejos.
Desventajas: No se dispone de algoritmos formales de modularidad,...
Regístrate para leer el documento completo.