SlideShare a Scribd company logo
1 of 41
Download to read offline
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:

More Related Content

What's hot

Integral de stieltjes
Integral de stieltjesIntegral de stieltjes
Integral de stieltjesbdeotto
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en javaBelen Gonzalez
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1K Manuel TN
 
Logica difusa conceptos
Logica difusa conceptosLogica difusa conceptos
Logica difusa conceptosHugo Perdomo
 
Regla de simpson
Regla de simpsonRegla de simpson
Regla de simpsonJosué Rv
 
Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Juan Carlos Martinez Garcia
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 

What's hot (20)

Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Integral de stieltjes
Integral de stieltjesIntegral de stieltjes
Integral de stieltjes
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
Serie de Taylor - R. Campillo
Serie de Taylor - R. CampilloSerie de Taylor - R. Campillo
Serie de Taylor - R. Campillo
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.
 
Introducción a la asignatura Matemáticas Discretas
Introducción a la asignatura Matemáticas DiscretasIntroducción a la asignatura Matemáticas Discretas
Introducción a la asignatura Matemáticas Discretas
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Arreglos
ArreglosArreglos
Arreglos
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Historia metodo de newton
Historia metodo de newtonHistoria metodo de newton
Historia metodo de newton
 
Recursividad
RecursividadRecursividad
Recursividad
 
Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1
 
Logica difusa conceptos
Logica difusa conceptosLogica difusa conceptos
Logica difusa conceptos
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
 
Regla de simpson
Regla de simpsonRegla de simpson
Regla de simpson
 
Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1Unidad 4-generacion-de-numeros-pseudoaleatorios1
Unidad 4-generacion-de-numeros-pseudoaleatorios1
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Viewers also liked

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 NetbookLisandro Laura
 
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.aiferchuscristo
 
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp021cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02
1cualidadesfsicasysusmtodosdedesarrollo2 131228172540-phpapp02mariateresagarcia2
 
Guía de manejo de Excel
Guía de manejo de ExcelGuía de manejo de Excel
Guía de manejo de Excelanabelle95
 
Examen segundo bimestre
Examen segundo bimestreExamen segundo bimestre
Examen segundo bimestredaisygvega
 
Magento framework ecommerce
Magento framework ecommerceMagento framework ecommerce
Magento framework ecommerceGuillaume 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 AULAHILDAZG
 
Hardware lisseth nastar 3
Hardware lisseth nastar 3Hardware lisseth nastar 3
Hardware lisseth nastar 3Lissnastar
 
44375 proyecto pedagógico
44375 proyecto pedagógico44375 proyecto pedagógico
44375 proyecto pedagógicoSDSANTAMARTHA2
 
Administracion
AdministracionAdministracion
Administracionalexis159
 
Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1Competenciasbasicas 1229192572616778-1
Competenciasbasicas 1229192572616778-1María Valbuena
 
Test semester 1
Test semester 1Test semester 1
Test semester 1criszamu
 

Viewers also liked (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 to 1.1 tda

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
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu genericoAna Ocaña
 
Estructura de datos power point
Estructura de datos power pointEstructura de datos power point
Estructura de datos power pointunachi
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Ana
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacionkarenyulithza
 
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 objetosJoseEstebanTelloEstr
 
FORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptxFORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptxEMMAFLORESCARMONA
 
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 FLUTTEREMMAFLORESCARMONA
 
Estructuras De Datos U1
Estructuras De Datos U1Estructuras De Datos U1
Estructuras De Datos U1pedro cruz
 

Similar to 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
 

Recently uploaded

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...CENECOnline
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadJonathanHctorSilvaRo
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjNachisRamos
 
PSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehePSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdheheheheheheheheheErickRolandoPadillaC1
 

Recently uploaded (6)

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 
PSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehePSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehe
 

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: