Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Oscar Bedoya.
oscarbed@eisc.univalle.edu.co
http://eisc.univalle.edu.co/~oscarbed/Estructuras/ Edificio 331, 2 piso, E.I.S.C.
CONTENIDO Qu es un tipo de dato? Qu es un tipos de dato abstracto (TDA)? Cul es el ciclo de vida de un TDA? Ejemplos de TDA
Tipos de datos Algunos tipos de datos que se encuentran en los lenguajes de programacin son: int float double
char
cadena de caracteres(String) arreglos.
Tipos de datos Considere el tipo de datos int Cules nmeros pertenecen a este tipo de dato
Tipos de datos El tipo de datos int es un subconjunto de los nmeros enteros. Son finitos. int Z Algunas de las operaciones que estn permitidas sobre enteros son: +: int x int int - : int x int int * : int x int int
Tipos de datos El tipo de datos float es un subconjunto de los nmeros reales. Son finitos. float R Algunas de las operaciones que estn permitidas sobre flotantes son: +: float x float float -: float x float float *: float x float float
Tipos de datos El tipo de datos String (cadena de caracteres) cadena = <carcter0,carcter1, , carctern-1> Algunas de las operaciones que estn permitidas sobre cadenas de caracteres son:
Tipos de datos Desde un enfoque orientado a objetos, considere el tipo Automvil, definido de la siguiente manera Automovil = (motor, baul, areapasajeros, chasis,carroceria) Automovil Vehiculo
Tipos de datos En todos los tipos definidos considerados anteriormente se tienen en cuenta dos aspectos Proposiciones lgicas que indican qu elementos pertenecen, o no, al tipo Conjunto de operaciones o acciones que se pueden realizar sobre los elementos del tipo
Tipos de datos Un tipo de datos define el conjunto de valores vlidos del tipo y las operaciones que se pueden aplicar al tipo.
Tipos de datos Un Tipo de Dato Abstracto debe definir dos partes: El invariante Un conjunto de operaciones.
Tipos de datos El invariante. El invariante es una proposicin que expresa el conjunto de valores vlidos del TDA. Permite saber qu elementos pertenecen al TDA y qu elementos no.
Tipos de datos Se dice que la estructura es abstracta porque se trata de que el TDA tenga un nivel alto de generalidad Una de las formas para que esto se cumpla es que el TDA debe ser lo ms independiente posible de su implementacin
Tipos de datos Un conjunto de operaciones Una operacin es algo que se le puede hacer al TDA. El conjunto de las operaciones define el comportamiento del TDA, esto es, define lo que se puede hacer o no con el TDA.
Tipos de datos
En trminos formales, un TDA se define como el par (invariante , operaciones), donde invariante es una proposicin (que tiene un valor verdadero o falso) y operaciones es el conjunto de las operaciones del TDA.
Tipos de datos Que es una instancia de TDA? Una instancia de TDA, o simplemente instancia, es un elemento que pertenece al TDA. El TDA es abstracto mientras que la instancia es concreta
Tipos de datos Que es una instancia de TDA? Un TDA es como un molde, o un sello, que define como ser la forma y comportamiento de los elementos que le pertenecen. Una instancia, por su parte, es la impresin del sello o molde.
Tipos de datos
Considere el TDA Automvil. A partir de este TDA podemos definir cualquier cantidad de instancias. Cada una con valores concretos que permiten diferenciar una instancia de otra
Tipos de datos
DISEO
IMPLEMENTACION
USO
Tipos de datos DISEO Se describe cmo va a ser el TDA, su invariante y sus operaciones. Es en esta etapa cuando el TDA es verdaderamente abstracto, en las otras etapas comienza a ser real. La etapa de diseo del TDA responde a las preguntas: Cmo es el TDA?. Cmo es la estructura del TDA? Cul es el conjunto de valores vlidos? Cules son sus operaciones?
Tipos de datos DISEO Proposiciones lgicas que indican qu elementos pertenecen, o no, al tipo Conjunto de operaciones o acciones que se pueden realizar sobre los elementos del tipo Por cada operacin se debe establecer el dominio y el codominio
Tipos de datos IMPLEMENTACION La implementacin consiste en tomar el diseo del TDA y convertirlo en algo real, en nuestro caso es llevarlo a un lenguaje de programacin. La implementacin de un TDA no es nica; dado un diseo de un TDA es posible implementarlo de diversas formas,
IMPLEMENTACION 2
IMPLEMENTACION 3
IMPLEMENTACION 4
Tipos de datos USO El uso de un TDA se refiere a cuando se utiliza en una aplicacin para resolver una problema especifico. Los diversos usos de un TDA es una prueba de la generalidad de este. Tener un conjunto de TDAs reutilizables hace mucho ms fcil construir un software complejo. Para hacer esto es solo unir las implementaciones que necesitemos de la forma adecuada y se tiene la aplicacin.
Tipos de datos USO En el caso en que se presenten errores en la implementacin de un TDA es ms fcil corregir un error pues es solo corregir en este y automticamente quedar corregido en todo el software que lo utilice, ya que los errores estn modularizados. La reutilizacin y la modularidad hacen las implementaciones de los TDA una herramienta poderosa para el desarrollo de software de calidad.
USO 2
USO 3
USO 4
Tipos de datos TDA Complejo Un nmero complejo es un objeto matemtico que se puede representar como una pareja ordenada, por ejemplo (2,3) o como el polinomio 2 + 3i , donde i es la unidad bsica de los nmeros imaginarios.
Los nmeros complejos tienen operaciones como las de suma, resta y multiplicacin. Si tenemos dos complejos c1=(r1,i1) y c2=(r2,i2), las operaciones se pueden definir de la siguiente manera: C1 + C2 = (r1 + r2, i1 + i2) C1 - C2 = (r1 - r2, i1 - i2)
Tipos de datos TDA Complejo(Invariante) Para establecer el invariante debemos responder a las dos preguntas: Cmo es la estructura del TDA?
Tipos de datos TDA Complejo(Invariante) Cul es el conjunto de valores vlidos? Se puede expresar en trminos del conjunto de valores vlidos de cada una de las partes del TDA, es decir, la primera parte de un Complejo es un nmero que pertenece al conjunto de los nmeros reales y las segunda es un nmero imaginario. Formalmente se puede expresar como:
Tipos de datos TDA Complejo(Operaciones) Cules son sus operaciones? sumar: Complejo x Complejo Complejo restar: Complejo x Complejo Complejo obtenerReal: Complejo R obtenerImaginario: Complejo I Complejo: R x I Complejo
(Operacin de construccin)
Las operaciones sumar y restar tienen como dominio el producto cartesiano de Complejos y como rango un Complejo.
TDA
Complejo
Descripcin: El TDA Complejo representa al concepto matemtico de nmero complejo, es decir, un nmero que tiene una parte real y otra imaginaria. Invariante: Complejo=(real, imaginario), real R imaginario I Operaciones:
Descripcin:
Construye un nmero complejo con base en un real real y un imaginario imaginario.
Descripcin operacional:
Complejo: R x I Complejo
Descripcin:
Suma dos nmeros complejos.
Descripcin operacional:
sumar: Complejo x Complejo Complejo
Descripcin:
Retorna la parte real del nmero complejo.
Descripcin operacional:
obtenerReal: Complejo R
Precondicin: Poscondicin:
obtenerReal = real
Tipos de datos
IMPLEMENTACION
Tipos de datos
Tipos de datos
Tipos de datos
TDA Racional Descripcin: El TDA Racional representa al concepto matemtico de nmero racional, es decir, un nmero que tiene un numerador y un denominador, ambos valores deben ser de tipo entero. Invariante: Operaciones: