Grupos de trabajo

Solo disponible en BuenasTareas
  • Páginas : 7 (1662 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de febrero de 2012
Leer documento completo
Vista previa del texto
Ingeniería de la Programación
Tipos de Datos Abstractos

Tipos de Datos Abstractos (TDA)
• Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de datos definidos por el sistema. • Está formado por un conjunto válido de elementos y un número de operaciones primitivas que se pueden realizar sobre ellos. Ejemplo: - Definición del tipoNumero racional: Conjunto de pares de elementos (a,b) de tipo entero, con b0. - Operaciones:
CrearRacional: Suma: Resta: Producto: División: Numerador: Denominador: ValorReal: MCD: Potencia: Simplifica: a, b (a,b) + (c,d) (a,b) - (c,d) (a,b) * (c,d) (a,b) / (c,d) (a,b) (a,b) (a,b) (a,b) (a,b)^c (a,b) = (a,b) = (a*d+b*c , b*d) = (a*d-b*c , b*d) = (a*c , b*d) = (a*d , b*c) =a =b = a/b ... = (a^c , b^c)= ( a/mcd(a,b) , b/mcd(a,b) )

• Una vez definido se podrán declarar variables de ese tipo y operar con ellas utilizando las operaciones que aporta el tipo. Ejemplo: TRacional r1,r2, rsuma; CrearRacional(4,7, &r1); CrearRacional(5,8,&r2); Suma(r1, r2, &rsuma); printf(“El valor real es %f”, ValorReal(rsuma) );

Departamento de Informática

Ingeniería de la Programación
Tipos de DatosAbstractos • 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. Debe verse como una caja negra. • En un TDA existen dos elementos diferenciados: - La Interfaz de utilización - La representación
7'$

A la hora de utilizar el TDA, la representación debepermanecer oculta. Solo podremos utilizar las operaciones del tipo para trabajar con sus elementos.

,QWHUID] 'HILQLFLyQ 2SHUDFLRQHV 5HSUHVHQWDFLyQ ,PSOHPHQWDFLyQ

• Para construir un tipo abstracto debemos: 1. Exponer una definición del tipo. 2. Definir las operaciones (funciones y procedimientos) que permitan operar con instancias de ese tipo. 3. Ocultar la representación de los elementos deltipo de modo que sólo se pueda actuar sobre ellos con las operaciones proporcionadas. 4. Poder hacer instancias múltiples del tipo.

♦ Tipos básicos de operaciones en un TDA
• Constructores: Crean una nueva instancia del tipo. • Transformación: Cambian el valor de uno o más elementos de una instancia del tipo. • Observación: Nos permiten observar el valor de uno o varios elementos de una instanciasin modificarlos. • Iteradores: Nos permiten procesar todos los componentes en un TDA de forma secuencial.

Departamento de Informática

Ingeniería de la Programación
Tipos de Datos Abstractos

♦ Implementación
• Una vez definido el TAD se T C o mp lejo .h escoge una representación interna utilizando los tipos que o p erac ió n1 proporciona el lenguaje y/o otros o p erac ió n2 + o p eració n3 TAD ya definidos previamente. ... • La representación deberá ocultarse utilizando los mecanismos que nos proporcione el lenguaje. Ocultamiento de Información. • Normalmente la implementación del tipo se realiza en un módulo aparte que será enlazado al programa principal
T C o mp lejo .c R ep resentac ió n: es truc tura d e d ato s Im p lem entac ió n d e o p erac io nes: C ó d igo d e o perac ió n1 C ó d igo d e o p erac ió n2 C ó d igo d e o p erac ió n3

Definic ió n d el tip o

• Se necesitará un fichero cabecera que contenga la definición de las operaciones y la declaración del tipo (representación). Con esta información se podrán definir elementos del tipo y acceder a sus operaciones Ejemplo: Fichero cabecera struct _TRacional { int a,b}; typedef struct _TRacionalTRacional; void CreaRacional (int a, int b, TRacional *r ); void SumaRacional(TRacional r1, TRacional r2, TRacional *rsum);

Departamento de Informática

Ingeniería de la Programación
Tipos de Datos Abstractos

TDA Pila
Definición del Tipo Es una colección lineal, dinámica y homogénea, en la que los elementos de insertan y se extraen por el mismo extremo. También conocida como estructura LIFO...
tracking img