SlideShare una empresa de Scribd logo
Tipos de datos abstractosEstructuras de datos
CONTENIDO 
•¿Qué es un tipo de dato? 
•¿Qué es un tipos de dato abstracto (TDA)? 
•¿Cuál 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 programación son: 
•int 
•float 
•double 
•char 
•cadena de caracteres(String) 
•arreglos.
Tipos de datos 
Considere el tipo de datos int 
•Cuáles números pertenecen a este tipo de dato 
•Cuántos elementos tiene 
•Qué operaciones se pueden realizar sobre enteros
Tipos de datos 
El tipo de datos intes un subconjunto de los números enteros. Son finitos. 
intZ 
Algunas de las operaciones que están permitidas sobre enteros son: 
+: intx int→ int 
-: intx int→ int 
*: intx int→ int 
/ : intx int→ double 
%: intx int→ double
Tipos de datos 
El tipo de datos floates un subconjunto de los números reales. Son finitos. 
floatR 
Algunas de las operaciones que están permitidas sobre flotantes son: 
+: floatx float→ float 
-: floatx float→ float 
*: floatx float→ float 
/: floatx float→ float
Tipos de datos 
El tipo de datos String(cadena de caracteres) 
cadena = <carácter0,carácter1, … , caráctern-1> 
Algunas de las operaciones que están permitidas sobre cadenas de caracteres son: 
strlen : cadena→ int 
+ : cadenax cadena→ cadena
Tipos de datos 
Desde un enfoque orientado a objetos, considere el tipo Automóvil, definido de la siguiente manera 
Automovil = (motor, baul, areapasajeros, chasis,carroceria) 
Automovil Vehiculo 
Algunas de las operaciones que están permitidas sobre un Automovil 
encender : Automovilx Llave→ Automovil 
acelerar : Automovil x Intensidad → Automovil
Tipos de datos 
En todos los tipos definidos considerados anteriormente se tienen en cuenta dos aspectos 
•Proposiciones lógicas 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 válidos 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 invariantees una proposición que expresa el conjunto de valores válidos del TDA. Permite saber qué elementos pertenecen al TDA y qué elementos no. 
Un invariante también expresa la estructura abstracta del TDA.
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 más independiente posible de su implementación
Tipos de datos 
•Un conjunto de operaciones 
Una operación 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 
Un TDA puede estar compuesto por otros TDAs. 
En términos formales, un TDA se define como el par (invariante , operaciones),donde invariante es una proposición (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 impresión del sello o molde.
Tipos de datos 
Considere el TDA Automóvil. 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 
El ciclo de vida de un TDA, se compone de tres etapas: 
•Diseño 
•Implementación 
•Uso. 
DISEÑO 
IMPLEMENTACION 
USO
Tipos de datos 
DISEÑO 
Se describe cómo 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 diseño del TDA responde a las preguntas: 
¿Cómo es el TDA?. 
¿Cómo es la estructura del TDA? 
¿Cuál es el conjunto de valores válidos? 
¿Cuáles son sus operaciones?
Tipos de datos 
DISEÑO 
•Proposiciones lógicas 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 operación se debe establecer el dominio y el codominio
Tipos de datos 
DISEÑO (Documento formal) 
1.Nombre:La letra inicial en mayúscula el resto en minúsculas. 
2.Descripción del TDA:Una frase en lenguaje natural describiendo el TDA. 
3.Invariante de TDA:Una proposición lógica que expresa el conjunto de valores 
válidos del TDA. 
4. Las operaciones 
4.1 Nombre de operación:Todas las letras en minúscula a excepción de las 
operaciones constructoras que tienen el mismo nombre del TDA. 
4.1.1 Descripción:Una frase en lenguaje natural describiendo la operación. 
4.1.2Descripción operacional:La descripción en términos del dominio y 
codominio de la operación. 
4.1.3Precondición:Una proposición lógica 
4.1.4Poscondición:Una proposición lógica.
Tipos de datos 
IMPLEMENTACION 
La implementación consiste en tomar el diseño del TDA y convertirlo en algo real, en nuestro caso es llevarlo a un lenguaje de programación. 
La implementación de un TDA no es única; dado un diseño de un TDA es posible implementarlo de diversas formas,
Tipos de datos 
IMPLEMENTACION 
DISEÑO 
IMPLEMENTACION 1 
USO 
IMPLEMENTACION 2 
IMPLEMENTACION 3 
IMPLEMENTACION 4 
Diferentes implementaciones pueden representar el mismo TDA
Tipos de datos 
USO 
El uso de un TDA se refiere a cuando se utiliza en una aplicación 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 más fácil construir un software complejo. Para hacer esto es solo unir las implementaciones que necesitemos de la forma adecuada y se tiene la aplicación.
Tipos de datos 
USO 
En el caso en que se presenten errores en la implementación de un TDA es más fácil corregir un error pues es solo corregir en este y automáticamente quedará corregido en todo el software que lo utilice, ya que los errores están modularizados. 
La reutilización y la modularidad hacen las implementaciones de los TDA una herramienta poderosa para el desarrollo de software de calidad.
Tipos de datos 
IMPLEMENTACION 
IMPLEMENTACION 
USO 1 
USO 2 
USO 3 
USO 4 
Diversos usos de la implementación de un TDA.
Tipos de datos 
TDA Complejo 
Un número complejo es un objeto matemático que se puede representar como una pareja ordenada, por ejemplo (2,3) o como el polinomio 2 + 3i , donde i es la unidad básica de los números imaginarios. 
Los números complejos tienen operaciones como las de suma, resta y multiplicación. 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: 
¿Cómo es la estructura del TDA? 
El TDA Complejo contiene dos partes: la real y la imaginaria.
Tipos de datos 
TDA Complejo(Invariante) 
¿Cuál es el conjunto de valores válidos? 
Se puede expresar en términos del conjunto de valores válidos de cada una de las partes del TDA, es decir, la primera parte de un Complejo es un número que pertenece al conjunto de los números reales y las segunda es un número imaginario. Formalmente se puede expresar como: 
Complejo=(real, imaginario),real R лimaginario I
Tipos de datos 
TDA Complejo(Operaciones) 
¿Cuáles son sus operaciones? 
sumar: Complejox Complejo→ Complejo 
restar: Complejox Complejo→ Complejo 
obtenerReal: Complejo→ R 
obtenerImaginario: Complejo→ I 
Complejo:Rx I→ Complejo(Operación de construcción) 
Las operaciones sumar y restar tienen como dominio el producto cartesiano de Complejos y como rango un Complejo.
Tipos de datos 
TDA Complejo (Documento final) 
TDA 
Complejo 
Descripción: 
El TDA Complejo representa al concepto matemático de número complejo, es decir, un número que tiene una parte real y otra imaginaria. 
Invariante: 
Complejo=(real, imaginario),realR лimaginarioI 
Operaciones:
Tipos de datos 
TDA Complejo (Documento final) 
Operación: Complejo 
Descripción: 
Construye un número complejo con base en un real realy un 
imaginario imaginario. 
Descripción operacional: 
Complejo: Rx I → Complejo 
Precondición: 
real R лimaginarioI 
Poscondición: 
Complejo = (real, imaginario)
Tipos de datos 
TDA Complejo (Documento final) 
Operación: Sumar 
Descripción: 
Suma dos números complejos. 
Descripción operacional: 
sumar: Complejox Complejo→ Complejo 
Precondición: 
otroComplejo 
Poscondición: 
sumar = (real + otro.real, imaginario + otro.imaginario)
Tipos de datos 
TDA Complejo (Documento final) 
Operación: ObtenerReal 
Descripción: 
Retorna la parte real del número complejo. 
Descripción operacional: 
obtenerReal: Complejo→ R 
Precondición: 
Poscondición: 
obtenerReal = real
Tipos de datos 
IMPLEMENTACION
Tipos de datos 
public class Complejo{ 
double real; 
double imaginario; 
public Complejo(double r, double i) 
{ 
real = r; 
imaginario = i; 
}
Tipos de datos 
public Complejo sumar(Complejo C1, Complejo C2) 
{ 
Complejo C3 = new Complejo(0,0); 
C3.real = C1.real + C2.real; 
C3.imaginario = C1.imaginario + C2.imaginario; 
return C3; 
}
Tipos de datos 
public double obtenerReal(Complejo C1) 
{ 
return C1.real; 
}
Tipos de datos 
USO
Tipos de datos 
TDA RACIONAL 
TDA 
Racional 
Descripción: 
El TDA Racional representa al concepto matemático de número racional, es decir, un número que tiene un numerador y un denominador, ambos valores deben ser de tipo entero. 
Invariante: 
Operaciones:

Más contenido relacionado

La actualidad más candente

Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)
United International University
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
Javier Alvarez
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
Universidad de Cuenca
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
Franklin Parrales Bravo
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
Eder Efrain Nieves Coronado
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
Daniel Gomez Jaramillo
 
Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)
Lester Sanchez
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
loco8888
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
erwin_alexander
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
Mariela Cabezas
 
Uso de TDA.pptx
Uso de TDA.pptxUso de TDA.pptx
Uso de TDA.pptx
Fernando Solis
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
erwin_alexander
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
Galo Anzules
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
Daniel Gomez Jaramillo
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
deff000001
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
Xiomara Ripalda
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
Omarzingm
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
José Antonio Sandoval Acosta
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
Alex Uhu Colli
 

La actualidad más candente (20)

Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Uso de TDA.pptx
Uso de TDA.pptxUso de TDA.pptx
Uso de TDA.pptx
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 

Destacado

Ver TDA en Windows con las Netbook
Ver TDA en Windows con las NetbookVer TDA en Windows con las Netbook
Ver TDA en Windows con las Netbook
Lisandro Laura
 
TDA
TDATDA
Agua pura y natural (Problemas con el Sarro)
Agua pura y natural (Problemas con el Sarro)Agua pura y natural (Problemas con el Sarro)
Agua pura y natural (Problemas con el Sarro)
exiredes
 
Investigacion y docencia.ai
Investigacion y docencia.aiInvestigacion y docencia.ai
Investigacion y docencia.ai
ferchuscristo
 
Desarrollo sustentable
Desarrollo sustentableDesarrollo sustentable
Desarrollo sustentable
Vanessa Garibay
 
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp021cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
mariateresagarcia2
 
Guía de manejo de Excel
Guía de manejo de ExcelGuía de manejo de Excel
Guía de manejo de Excel
anabelle95
 
Zotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
Zotero 3.0 - Doctorado Formación en la Sociedad del ConocimientoZotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
Zotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
Education in the Knowledge Society PhD
 
Examen segundo bimestre
Examen segundo bimestreExamen segundo bimestre
Examen segundo bimestre
daisygvega
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
cabildocalarca
 
Magento framework ecommerce
Magento framework ecommerceMagento framework ecommerce
Magento framework ecommerce
Guillaume Babik
 
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULAUTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
HILDAZG
 
Dictons
DictonsDictons
Dictons
ourbothy
 
H
HH
Hardware lisseth nastar 3
Hardware lisseth nastar 3Hardware lisseth nastar 3
Hardware lisseth nastar 3
Lissnastar
 
44375 proyecto pedagógico
44375 proyecto pedagógico44375 proyecto pedagógico
44375 proyecto pedagógico
SDSANTAMARTHA2
 
Administracion
AdministracionAdministracion
Administracion
alexis159
 
Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1María Valbuena
 
Test semester 1
Test semester 1Test semester 1
Test semester 1criszamu
 

Destacado (20)

Ver TDA en Windows con las Netbook
Ver TDA en Windows con las NetbookVer TDA en Windows con las Netbook
Ver TDA en Windows con las Netbook
 
TDA
TDATDA
TDA
 
Agua pura y natural (Problemas con el Sarro)
Agua pura y natural (Problemas con el Sarro)Agua pura y natural (Problemas con el Sarro)
Agua pura y natural (Problemas con el Sarro)
 
Investigacion y docencia.ai
Investigacion y docencia.aiInvestigacion y docencia.ai
Investigacion y docencia.ai
 
Desarrollo sustentable
Desarrollo sustentableDesarrollo sustentable
Desarrollo sustentable
 
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp021cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
 
Guía de manejo de Excel
Guía de manejo de ExcelGuía de manejo de Excel
Guía de manejo de Excel
 
Zotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
Zotero 3.0 - Doctorado Formación en la Sociedad del ConocimientoZotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
Zotero 3.0 - Doctorado Formación en la Sociedad del Conocimiento
 
Examen segundo bimestre
Examen segundo bimestreExamen segundo bimestre
Examen segundo bimestre
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
 
Magento framework ecommerce
Magento framework ecommerceMagento framework ecommerce
Magento framework ecommerce
 
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULAUTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
UTE OTRAS VARIABLES QUE DETERMINAN LA DIVERSIDAD EN EL AULA
 
Dictons
DictonsDictons
Dictons
 
H
HH
H
 
Hardware lisseth nastar 3
Hardware lisseth nastar 3Hardware lisseth nastar 3
Hardware lisseth nastar 3
 
44375 proyecto pedagógico
44375 proyecto pedagógico44375 proyecto pedagógico
44375 proyecto pedagógico
 
Administracion
AdministracionAdministracion
Administracion
 
Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1
 
ppt 15x10
ppt 15x10ppt 15x10
ppt 15x10
 
Test semester 1
Test semester 1Test semester 1
Test semester 1
 

Similar a 1.1 tda

Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
Alvaro Andrade Enriquez
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc X
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
Alvaro Andrade Enriquez
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu generico
Ana Ocaña
 
Datos abstractos
Datos abstractosDatos abstractos
Datos abstractos
Eliezer Cordova
 
Estructura de datos power point
Estructura de datos power pointEstructura de datos power point
Estructura de datos power point
unachi
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
Cesar Sanchez Mosso
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Ana
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
karenyulithza
 
AlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióNAlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióN
Luis Alberto Fuentes
 
Abstracción y Encapsulación de en la programación Orientada a objetos
Abstracción y Encapsulación de en la programación Orientada a objetosAbstracción y Encapsulación de en la programación Orientada a objetos
Abstracción y Encapsulación de en la programación Orientada a objetos
JoseEstebanTelloEstr
 
Datos
DatosDatos
Datos
jemarinoi
 
datos
datos datos
datos
George Henao
 
FORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptxFORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptx
EMMAFLORESCARMONA
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
guestaacec6b
 
Datos
DatosDatos
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
EMMAFLORESCARMONA
 
Datos
DatosDatos
Estructuras De Datos U1
Estructuras De Datos U1Estructuras De Datos U1
Estructuras De Datos U1
pedro cruz
 
Abstraccion ppt
Abstraccion pptAbstraccion ppt
Abstraccion ppt
Lupita Weryta
 

Similar a 1.1 tda (20)

Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu generico
 
Datos abstractos
Datos abstractosDatos abstractos
Datos abstractos
 
Estructura de datos power point
Estructura de datos power pointEstructura de datos power point
Estructura de datos power point
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
AlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióNAlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióN
 
Abstracción y Encapsulación de en la programación Orientada a objetos
Abstracción y Encapsulación de en la programación Orientada a objetosAbstracción y Encapsulación de en la programación Orientada a objetos
Abstracción y Encapsulación de en la programación Orientada a objetos
 
Datos
DatosDatos
Datos
 
datos
datos datos
datos
 
FORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptxFORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptx
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Datos
DatosDatos
Datos
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Datos
DatosDatos
Datos
 
Estructuras De Datos U1
Estructuras De Datos U1Estructuras De Datos U1
Estructuras De Datos U1
 
Abstraccion ppt
Abstraccion pptAbstraccion ppt
Abstraccion ppt
 

Último

Sesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artificalSesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artifical
Angeles del Rosario Escobar Mendoza
 
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docxCOMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
Jean Apellidos
 
Diapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptxDiapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptx
erick502105
 
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdfextraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
JENNYMARITZAHUILLCAR
 
PRESENTACION TEMA COMPUESTO AROMATICOS Y
PRESENTACION TEMA COMPUESTO AROMATICOS YPRESENTACION TEMA COMPUESTO AROMATICOS Y
PRESENTACION TEMA COMPUESTO AROMATICOS Y
WillyBernab
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
cpadua713
 
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNETCOMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
Kevin Aguilar Garcia
 
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docxFICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
EmilyEsmeraldaQuispe
 
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
NoraRoberts5
 
Oración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docxOración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docx
LuisAlbertoCordovaBa
 
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidadESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
jorgejhonatanaltamir1
 
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente CruzattSEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
vicenteariana54
 
Oruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico magoOruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico mago
ChichipeSevillaJhost
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
ruthechepurizaca
 
Análisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de ArtesAnálisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de Artes
al050121024
 

Último (15)

Sesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artificalSesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artifical
 
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docxCOMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
 
Diapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptxDiapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptx
 
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdfextraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
 
PRESENTACION TEMA COMPUESTO AROMATICOS Y
PRESENTACION TEMA COMPUESTO AROMATICOS YPRESENTACION TEMA COMPUESTO AROMATICOS Y
PRESENTACION TEMA COMPUESTO AROMATICOS Y
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
 
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNETCOMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
 
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docxFICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
 
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
 
Oración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docxOración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docx
 
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidadESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
 
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente CruzattSEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
 
Oruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico magoOruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico mago
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
 
Análisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de ArtesAnálisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de Artes
 

1.1 tda

  • 1. Tipos de datos abstractosEstructuras de datos
  • 2. CONTENIDO •¿Qué es un tipo de dato? •¿Qué es un tipos de dato abstracto (TDA)? •¿Cuál es el ciclo de vida de un TDA? •Ejemplos de TDA
  • 3. Tipos de datos Algunos tipos de datos que se encuentran en los lenguajes de programación son: •int •float •double •char •cadena de caracteres(String) •arreglos.
  • 4. Tipos de datos Considere el tipo de datos int •Cuáles números pertenecen a este tipo de dato •Cuántos elementos tiene •Qué operaciones se pueden realizar sobre enteros
  • 5. Tipos de datos El tipo de datos intes un subconjunto de los números enteros. Son finitos. intZ Algunas de las operaciones que están permitidas sobre enteros son: +: intx int→ int -: intx int→ int *: intx int→ int / : intx int→ double %: intx int→ double
  • 6. Tipos de datos El tipo de datos floates un subconjunto de los números reales. Son finitos. floatR Algunas de las operaciones que están permitidas sobre flotantes son: +: floatx float→ float -: floatx float→ float *: floatx float→ float /: floatx float→ float
  • 7. Tipos de datos El tipo de datos String(cadena de caracteres) cadena = <carácter0,carácter1, … , caráctern-1> Algunas de las operaciones que están permitidas sobre cadenas de caracteres son: strlen : cadena→ int + : cadenax cadena→ cadena
  • 8. Tipos de datos Desde un enfoque orientado a objetos, considere el tipo Automóvil, definido de la siguiente manera Automovil = (motor, baul, areapasajeros, chasis,carroceria) Automovil Vehiculo Algunas de las operaciones que están permitidas sobre un Automovil encender : Automovilx Llave→ Automovil acelerar : Automovil x Intensidad → Automovil
  • 9. Tipos de datos En todos los tipos definidos considerados anteriormente se tienen en cuenta dos aspectos •Proposiciones lógicas que indican qué elementos pertenecen, o no, al tipo •Conjunto de operaciones o acciones que se pueden realizar sobre los elementos del tipo
  • 10. Tipos de datos Un tipo de datos define el conjunto de valores válidos del tipo y las operaciones que se pueden aplicar al tipo.
  • 11. Tipos de datos Un Tipo de Dato Abstracto debe definir dos partes: •El invariante •Un conjunto de operaciones.
  • 12. Tipos de datos •El invariante. El invariantees una proposición que expresa el conjunto de valores válidos del TDA. Permite saber qué elementos pertenecen al TDA y qué elementos no. Un invariante también expresa la estructura abstracta del TDA.
  • 13. 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 más independiente posible de su implementación
  • 14. Tipos de datos •Un conjunto de operaciones Una operación 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.
  • 15. Tipos de datos Un TDA puede estar compuesto por otros TDAs. En términos formales, un TDA se define como el par (invariante , operaciones),donde invariante es una proposición (que tiene un valor verdadero o falso) y operaciones es el conjunto de las operaciones del TDA.
  • 16. 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
  • 17. 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 impresión del sello o molde.
  • 18. Tipos de datos Considere el TDA Automóvil. A partir de este TDA podemos definir cualquier cantidad de instancias. Cada una con valores concretos que permiten diferenciar una instancia de otra
  • 19. Tipos de datos El ciclo de vida de un TDA, se compone de tres etapas: •Diseño •Implementación •Uso. DISEÑO IMPLEMENTACION USO
  • 20. Tipos de datos DISEÑO Se describe cómo 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 diseño del TDA responde a las preguntas: ¿Cómo es el TDA?. ¿Cómo es la estructura del TDA? ¿Cuál es el conjunto de valores válidos? ¿Cuáles son sus operaciones?
  • 21. Tipos de datos DISEÑO •Proposiciones lógicas 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 operación se debe establecer el dominio y el codominio
  • 22. Tipos de datos DISEÑO (Documento formal) 1.Nombre:La letra inicial en mayúscula el resto en minúsculas. 2.Descripción del TDA:Una frase en lenguaje natural describiendo el TDA. 3.Invariante de TDA:Una proposición lógica que expresa el conjunto de valores válidos del TDA. 4. Las operaciones 4.1 Nombre de operación:Todas las letras en minúscula a excepción de las operaciones constructoras que tienen el mismo nombre del TDA. 4.1.1 Descripción:Una frase en lenguaje natural describiendo la operación. 4.1.2Descripción operacional:La descripción en términos del dominio y codominio de la operación. 4.1.3Precondición:Una proposición lógica 4.1.4Poscondición:Una proposición lógica.
  • 23. Tipos de datos IMPLEMENTACION La implementación consiste en tomar el diseño del TDA y convertirlo en algo real, en nuestro caso es llevarlo a un lenguaje de programación. La implementación de un TDA no es única; dado un diseño de un TDA es posible implementarlo de diversas formas,
  • 24. Tipos de datos IMPLEMENTACION DISEÑO IMPLEMENTACION 1 USO IMPLEMENTACION 2 IMPLEMENTACION 3 IMPLEMENTACION 4 Diferentes implementaciones pueden representar el mismo TDA
  • 25. Tipos de datos USO El uso de un TDA se refiere a cuando se utiliza en una aplicación 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 más fácil construir un software complejo. Para hacer esto es solo unir las implementaciones que necesitemos de la forma adecuada y se tiene la aplicación.
  • 26. Tipos de datos USO En el caso en que se presenten errores en la implementación de un TDA es más fácil corregir un error pues es solo corregir en este y automáticamente quedará corregido en todo el software que lo utilice, ya que los errores están modularizados. La reutilización y la modularidad hacen las implementaciones de los TDA una herramienta poderosa para el desarrollo de software de calidad.
  • 27. Tipos de datos IMPLEMENTACION IMPLEMENTACION USO 1 USO 2 USO 3 USO 4 Diversos usos de la implementación de un TDA.
  • 28. Tipos de datos TDA Complejo Un número complejo es un objeto matemático que se puede representar como una pareja ordenada, por ejemplo (2,3) o como el polinomio 2 + 3i , donde i es la unidad básica de los números imaginarios. Los números complejos tienen operaciones como las de suma, resta y multiplicación. 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)
  • 29. Tipos de datos TDA Complejo(Invariante) Para establecer el invariante debemos responder a las dos preguntas: ¿Cómo es la estructura del TDA? El TDA Complejo contiene dos partes: la real y la imaginaria.
  • 30. Tipos de datos TDA Complejo(Invariante) ¿Cuál es el conjunto de valores válidos? Se puede expresar en términos del conjunto de valores válidos de cada una de las partes del TDA, es decir, la primera parte de un Complejo es un número que pertenece al conjunto de los números reales y las segunda es un número imaginario. Formalmente se puede expresar como: Complejo=(real, imaginario),real R лimaginario I
  • 31. Tipos de datos TDA Complejo(Operaciones) ¿Cuáles son sus operaciones? sumar: Complejox Complejo→ Complejo restar: Complejox Complejo→ Complejo obtenerReal: Complejo→ R obtenerImaginario: Complejo→ I Complejo:Rx I→ Complejo(Operación de construcción) Las operaciones sumar y restar tienen como dominio el producto cartesiano de Complejos y como rango un Complejo.
  • 32. Tipos de datos TDA Complejo (Documento final) TDA Complejo Descripción: El TDA Complejo representa al concepto matemático de número complejo, es decir, un número que tiene una parte real y otra imaginaria. Invariante: Complejo=(real, imaginario),realR лimaginarioI Operaciones:
  • 33. Tipos de datos TDA Complejo (Documento final) Operación: Complejo Descripción: Construye un número complejo con base en un real realy un imaginario imaginario. Descripción operacional: Complejo: Rx I → Complejo Precondición: real R лimaginarioI Poscondición: Complejo = (real, imaginario)
  • 34. Tipos de datos TDA Complejo (Documento final) Operación: Sumar Descripción: Suma dos números complejos. Descripción operacional: sumar: Complejox Complejo→ Complejo Precondición: otroComplejo Poscondición: sumar = (real + otro.real, imaginario + otro.imaginario)
  • 35. Tipos de datos TDA Complejo (Documento final) Operación: ObtenerReal Descripción: Retorna la parte real del número complejo. Descripción operacional: obtenerReal: Complejo→ R Precondición: Poscondición: obtenerReal = real
  • 36. Tipos de datos IMPLEMENTACION
  • 37. Tipos de datos public class Complejo{ double real; double imaginario; public Complejo(double r, double i) { real = r; imaginario = i; }
  • 38. Tipos de datos public Complejo sumar(Complejo C1, Complejo C2) { Complejo C3 = new Complejo(0,0); C3.real = C1.real + C2.real; C3.imaginario = C1.imaginario + C2.imaginario; return C3; }
  • 39. Tipos de datos public double obtenerReal(Complejo C1) { return C1.real; }
  • 41. Tipos de datos TDA RACIONAL TDA Racional Descripción: El TDA Racional representa al concepto matemático de número racional, es decir, un número que tiene un numerador y un denominador, ambos valores deben ser de tipo entero. Invariante: Operaciones: