SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Estructuras de Datos



Abstracción de datos




                             1
Estructuras de datos
Mapa conceptual:

  ¿Para qué sirve esta materia?
  Con qué conceptos se relaciona?
  Qué contiene?
  Qué aplicaciones?


                                    2
Abstracción
  Abstracción: Representación de las
  características esenciales de un objeto o
  entidad.
  Abstraer: Dar nombre a las cosas.
  Referenciar: Hacer uso del nombre.




                                         3
Abstracción




              4
¿Por qué es importante la
abstracción?

 El proceso de abstracción, debe convertirse en
 una habilidad para quien estudie una carrera
 relacionada con la computación. La capacidad
 de modelar una realidad por medio de
 herramientas     computacionales      requiere
 necesariamente      de     hacer    continuas
 abstracciones, por lo que es vital conocer
 metodologías que desarrollen esta habilidad.


                                             5
¿Qué es la abstracción de
datos?
  La abstracción de datos es una técnica o
  metodología que permite diseñar estructuras
  de datos.
  Consiste básicamente en representar bajo
  ciertos    lineamientos   de formato     las
  características esenciales de una estructura
  de datos.
  Este proceso de diseño se olvida de los
  detalles específicos de implementación de
  los datos.

                                            6
¿Qué es una estructura de datos?

  Cualquier colección o grupo de datos
  organizados de tal forma que tengan
  asociados un conjunto de operaciones para
  poder manipularlos, se dice que conforma
  una estructura de datos.




                                         7
Tipo de Dato Abstracto (TDA)
  Es la representación de una entidad u objeto
  para facilitar su programación. Se compone
  de:
     Estructura de datos: Es la estructura de
      programación que se selecciona para representar
      las características de la entidad modelada
     Funciones de Abstracción: Son funciones que
      permiten hacer uso de la estructura de datos, y
      que esconden los detalles de dicha estructura,
      permitiendo un mayor nivel de abstracción.

                                                    8
Especificación lógica de un TDA

 Se plasma la abstracción realizada al
 diseñar una estructura de datos, esto
 pasa a ser el mapa o plano con el cual se
 construirá la estructura de datos y se
 definirán claramente las reglas en las
 que podrá usarse el TDA. La
 especificación lógica de un TDA consiste
 de los siguientes cuatro puntos:

                                        9
Especificación lógica de un TDA

  l. Elementos que             conformarán         la
  estructura de datos.
    Es el tipo de los datos que se guardará en la
    estructura.

  Ejemplo:
    números enteros, caracteres, fechas, registros con
    los datos de un empleado, etcétera.



                                                   10
Especificación lógica de un TDA
2. Tipo de organización                 en     que     se
guardarán los elementos.
Existen cuatro tipos de organización para los datos en la
estructura.
  Lineal: Si hay una relación de uno a uno entre los
   elementos.
  Jerárquica: Si hay una relación de uno a muchos
   entre los elementos.
  Red: Si hay una relación de muchos a muchos entre
   los elementos.
  Sin relación: Si no hay relaciones entre los elementos.

                                                       11
Especificación lógica de un TDA

   3. Dominio de la estructura.
    Este punto es opcional, y en él se describirá la
    capacidad de la estructura en cuanto al rango
    posible de datos por guardar.




                                                       12
Especificación lógica de un TDA
 4. Descripción de las operaciones de la
 estructura.
      Cada operación que está relacionada con la
      estructura debe describirse como:
     Nombre de la operación.
     Descripción breve de su utilidad.
     Datos de entrada a la operación.
     Datos que genera como salida la operación.
     Precondición: Condición que deberá cumplirse
      antes de utilizar la operación para que se realice
      sin problemas.
     Poscondición: Condición en que queda el TDA
      después de ejecutar la operación.
                                                      13
Dinámica

  Escribe en tu libreta un resumen de lo
    que acabamos de estudiar sobre la
         especificación de un TDA.




                                           14
Ejemplo:

  Especificación lógica del TDA: Cadena

     Elementos: todos los caracteres alfabéticos
      (letras mayúsculas y minúsculas), caracteres
      numéricos y caracteres especiales.
     Estructura: hay una relación lineal entre los
      caracteres
     Dominio: existen entre O y 80 caracteres en cada
      valor del TDA CADENA. El dominio serán todas
      aquellas secuencias de caracteres que cumplan
      con las reglas.

                                                   15
Ejemplo:
 Operaciones:
   Borrainicio
    Utilidad: Sirve para eliminar el primer carácter de una
     cadena.
    Entrada: Cadena S sobre la que se desea eliminar el
     primer carácter.
    Salida: El carácter más a la izquierda de la cadena S y la
     cadena S modificada.
    Precondición: La cantidad de caracteres es mayor que
     cero.
    Poscondición: La cadena S tiene todos los caracteres,
     menos el primero.



                                                            16
Ejemplo:
 Agregafinal
     Utilidad: Sirve para agregar un carácter al final de una
      cadena.
     Entrada: Cadena S y el carácter L, que se añadirá a la
      cadena S.
     Salida: Cadena S modificada.
     Precondición: La cantidad de caracteres en S es menor
      que 80.
     Poscondición: La cadena S tiene el carácter L que queda al
      extremo derecho de la cadena.




                                                            17
Ejemplo ….
  Vacía
     Utilidad: Sirve para verificar si una cadena está vacía o
         no.
        Entrada: Cadena S que se verificará.
        Salida: VERDADERO si la cadena S no tiene caracteres,
         FALSO en caso contrario.
        Precondición: Ninguna
        Poscondición: Ninguna (pues la cadena S no se
         modifica).




                                                            18
Ejemplo ….
  Llena
    Utilidad: Sirve para verificar si una cadena está llena o
       no.
       Entrada: .Cadena S que será verificada.
      Salida: VERDADERO si la cadena S contiene ya 80
       caracteres, FALSO en caso contrario
      Precondición: Ninguna
      Poscondición: Ninguna (pues la cadena S no se
       modifica).




                                                            19
Ejemplo ….
 Invierte
    Utilidad: Sirve para invertir el orden de los caracteres en
     una cadena.
    Entrada: Cadena S a la que se desea invertir el orden de
     los caracteres.
    Salida: Cadena S modificada.
    Precondición: Ninguna
    Poscondición: La secuencia de caracteres en la cadena S
     se invierte, de forma que el primer carácter toma el lugar
     del último, el     segundo     el   del   penúltimo   y   así
     sucesivamente.



                                                                20
Niveles de abstracción de datos

  En la abstracción de datos se pueden definir
  tres niveles de trabajo:
      El nivel lógico o abstracto se define la
       estructura de datos y las operaciones relacionadas
       con ella. La descripción es independiente del
       lenguaje de programación en el se usará la
       estructura.




                                                      21
Niveles de abstracción de datos
2. El nivel físico o de implementación. En este nivel se
decide el lenguaje de programación para la
implementación, los tipos de datos ya definidos servirán
para representarla y se implementa como un módulo (o
método) a cada una de las operaciones del TDA. Este
nivel toma el diseño del nivel lógico

3. En el nivel aplicación o de uso el programador usará
el TDA para resolver determinada aplicación. El uso del
TDA se limita a llamar las operaciones sobre la
estructura que se requiera cuidando siempre de cumplir
con las reglas de cada operación especificadas en el
nivel lógico.

                                                     22
La independencia de datos y el
ocultamiento de información

  Quien implementa el TDA no debe estar influenciado
  por la aplicación que tendrá la estructura, y quien
  use la estructura no tiene porqué saber cómo se
  implementaron sus operaciones.

  Entonces la forma en que se almacenan los datos en
  la estructura es independiente de su aplicación y que
  para el usuario programador permanece oculto cómo
  se implementaron las operaciones del TDA.


                                                     23
¿Cómo distinguir los niveles de
abstracción?

  Una analogía podría hacerse al comparar este
  proceso con el que se realiza al construir una casa.
  Primero se trabaja en el nivel lógico al pedirle a un
  arquitecto que diseñe el plano. Una vez aprobado el
  diseño, se procede en el nivel físico, que
  correspondería a la construcción. Los albañiles
  seguirán paso a paso las especificaciones dadas en el
  plano. Una vez que la construcción esté terminada,
  llegará su dueño para habitarla dándole el uso
  correspondiente a cada espacio.


                                                    24
¿Qué ventajas ofrece utilizar la
técnica de abstracción de datos?

  La técnica obliga a diseñar modularmente y,
  como       consecuencia     se    tiene    una
  implementación más clara, documentada y es
  fácil darle mantenimiento. Adicionalmente,
  gracias a la independencia de datos y al
  ocultamiento de información se pueden crear
  paquetes como unidades de software
  reutilizable con lo que se obtienen estructuras
  de datos genéricas.

                                              25

Más contenido relacionado

La actualidad más candente

Modelado de análisis para aplicaciones webkarina
Modelado de análisis para aplicaciones webkarinaModelado de análisis para aplicaciones webkarina
Modelado de análisis para aplicaciones webkarinakarinaarevalo22
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoJuan Anaya
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
 
Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientosJoaquin Artavia Chaves
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosdouglimar89
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacionjosebrandon24
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialAlan López
 
Tema vision artificial
Tema vision artificialTema vision artificial
Tema vision artificialRonald Alanoca
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónNatalia Ludeña
 

La actualidad más candente (20)

Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estado
 
Modelado de análisis para aplicaciones webkarina
Modelado de análisis para aplicaciones webkarinaModelado de análisis para aplicaciones webkarina
Modelado de análisis para aplicaciones webkarina
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
 
MVC
MVCMVC
MVC
 
Los pilares de la poo
Los pilares de la pooLos pilares de la poo
Los pilares de la poo
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientos
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia Artificial
 
Cuestionario uml
Cuestionario umlCuestionario uml
Cuestionario uml
 
Tema vision artificial
Tema vision artificialTema vision artificial
Tema vision artificial
 
Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de Software
 
Elicitación de requerimientos
Elicitación de requerimientosElicitación de requerimientos
Elicitación de requerimientos
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 

Destacado

Power point - Estrucura atómica
Power point - Estrucura atómicaPower point - Estrucura atómica
Power point - Estrucura atómicaarianabordolina
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
Presentaciones En Powerpoint
Presentaciones En PowerpointPresentaciones En Powerpoint
Presentaciones En Powerpointjojeac
 
¿Que es mindomo?
¿Que es mindomo?¿Que es mindomo?
¿Que es mindomo?Yani Yani
 
Presentacion power point animador comunitario
Presentacion power point animador comunitarioPresentacion power point animador comunitario
Presentacion power point animador comunitariole119
 
¿Cómo utilizar la web Mindomo?
¿Cómo utilizar la web Mindomo?¿Cómo utilizar la web Mindomo?
¿Cómo utilizar la web Mindomo?Fernando Lopez
 
Apoyos visuales, recomendaciones
Apoyos visuales, recomendacionesApoyos visuales, recomendaciones
Apoyos visuales, recomendacionesamayam
 
Realización de diapositivas profesionales
Realización de diapositivas profesionalesRealización de diapositivas profesionales
Realización de diapositivas profesionalesstevenmartinez-1911
 
Diferencias entre prezi y power point
Diferencias entre prezi y power pointDiferencias entre prezi y power point
Diferencias entre prezi y power pointJose Manuel Miranda
 
Expresion oral
Expresion oralExpresion oral
Expresion orali_lobmy
 
Clase producción roles 2011 share
Clase producción roles 2011 shareClase producción roles 2011 share
Clase producción roles 2011 sharecefalin
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglossalomonaquino
 
prezi y sus caracteristicas
prezi y sus caracteristicasprezi y sus caracteristicas
prezi y sus caracteristicasdanielaortiz2416
 

Destacado (20)

Power point - Estrucura atómica
Power point - Estrucura atómicaPower point - Estrucura atómica
Power point - Estrucura atómica
 
Estructura De Una Diapositiva
Estructura De Una DiapositivaEstructura De Una Diapositiva
Estructura De Una Diapositiva
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
Presentaciones En Powerpoint
Presentaciones En PowerpointPresentaciones En Powerpoint
Presentaciones En Powerpoint
 
¿Que es mindomo?
¿Que es mindomo?¿Que es mindomo?
¿Que es mindomo?
 
Presentacion power point animador comunitario
Presentacion power point animador comunitarioPresentacion power point animador comunitario
Presentacion power point animador comunitario
 
Ms Word y su Estructura
Ms Word y su Estructura Ms Word y su Estructura
Ms Word y su Estructura
 
¿Cómo utilizar la web Mindomo?
¿Cómo utilizar la web Mindomo?¿Cómo utilizar la web Mindomo?
¿Cómo utilizar la web Mindomo?
 
Colas
ColasColas
Colas
 
Apoyos visuales, recomendaciones
Apoyos visuales, recomendacionesApoyos visuales, recomendaciones
Apoyos visuales, recomendaciones
 
Jornada 4
Jornada 4Jornada 4
Jornada 4
 
Cómo diseñar una presentación
Cómo diseñar una presentaciónCómo diseñar una presentación
Cómo diseñar una presentación
 
Realización de diapositivas profesionales
Realización de diapositivas profesionalesRealización de diapositivas profesionales
Realización de diapositivas profesionales
 
Tema 4. Esforços
Tema 4. EsforçosTema 4. Esforços
Tema 4. Esforços
 
Diferencias entre prezi y power point
Diferencias entre prezi y power pointDiferencias entre prezi y power point
Diferencias entre prezi y power point
 
Conclusiones finales power point
Conclusiones finales power pointConclusiones finales power point
Conclusiones finales power point
 
Expresion oral
Expresion oralExpresion oral
Expresion oral
 
Clase producción roles 2011 share
Clase producción roles 2011 shareClase producción roles 2011 share
Clase producción roles 2011 share
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
prezi y sus caracteristicas
prezi y sus caracteristicasprezi y sus caracteristicas
prezi y sus caracteristicas
 

Similar a Estructuras de Datos: Abstracción de Datos y Niveles de Abstracción

Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorJomicast
 
ED 02 1_tda
ED 02 1_tdaED 02 1_tda
ED 02 1_tdaA J
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSEvans Balcazar
 
Modelo de datos modelos bdd
Modelo de datos modelos bddModelo de datos modelos bdd
Modelo de datos modelos bddalbertoisaacs13
 
Modelos de-datos
Modelos de-datosModelos de-datos
Modelos de-datoslelyydrogo
 
Desarrollo taller bases de datos
Desarrollo taller bases de datosDesarrollo taller bases de datos
Desarrollo taller bases de datosorus004
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datosGalo Anzules
 
Base de datos michael barreto 580718
Base de datos michael barreto 580718Base de datos michael barreto 580718
Base de datos michael barreto 580718mich5591
 
Capítulo I. Abstracción de datos
Capítulo I. Abstracción de datosCapítulo I. Abstracción de datos
Capítulo I. Abstracción de datosdurley
 
Desarrollo taller bases de datos
Desarrollo taller bases de datosDesarrollo taller bases de datos
Desarrollo taller bases de datosorus004
 
Modelo de bases de datos (william mata 26550902)
Modelo de bases de datos (william mata 26550902)Modelo de bases de datos (william mata 26550902)
Modelo de bases de datos (william mata 26550902)WilliamMata7
 

Similar a Estructuras de Datos: Abstracción de Datos y Niveles de Abstracción (20)

Abstraccion ppt
Abstraccion pptAbstraccion ppt
Abstraccion ppt
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
ED 02 1_tda
ED 02 1_tdaED 02 1_tda
ED 02 1_tda
 
1.1 tda
1.1 tda1.1 tda
1.1 tda
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Modelo de datos modelos bdd
Modelo de datos modelos bddModelo de datos modelos bdd
Modelo de datos modelos bdd
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 
Tema1 (2)
Tema1 (2)Tema1 (2)
Tema1 (2)
 
S03.s3-Material 2.pptx
S03.s3-Material 2.pptxS03.s3-Material 2.pptx
S03.s3-Material 2.pptx
 
S03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptxS03.s3-Material 2 (1).pptx
S03.s3-Material 2 (1).pptx
 
Modelos de-datos
Modelos de-datosModelos de-datos
Modelos de-datos
 
Desarrollo taller bases de datos
Desarrollo taller bases de datosDesarrollo taller bases de datos
Desarrollo taller bases de datos
 
Computacion asignacion 3
Computacion asignacion 3Computacion asignacion 3
Computacion asignacion 3
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Base de datos michael barreto 580718
Base de datos michael barreto 580718Base de datos michael barreto 580718
Base de datos michael barreto 580718
 
Capítulo I. Abstracción de datos
Capítulo I. Abstracción de datosCapítulo I. Abstracción de datos
Capítulo I. Abstracción de datos
 
Desarrollo taller bases de datos
Desarrollo taller bases de datosDesarrollo taller bases de datos
Desarrollo taller bases de datos
 
Modelo de bases de datos (william mata 26550902)
Modelo de bases de datos (william mata 26550902)Modelo de bases de datos (william mata 26550902)
Modelo de bases de datos (william mata 26550902)
 

Más de unachi

Fundamentosbasicosdevisualbasic
FundamentosbasicosdevisualbasicFundamentosbasicosdevisualbasic
Fundamentosbasicosdevisualbasicunachi
 
Introducción a visual basic 6.0
Introducción a visual basic 6.0Introducción a visual basic 6.0
Introducción a visual basic 6.0unachi
 
Proyecto final mixela
Proyecto final mixelaProyecto final mixela
Proyecto final mixelaunachi
 
Castillo33
Castillo33Castillo33
Castillo33unachi
 
Slidershere comercio electronico mixi
Slidershere comercio electronico mixiSlidershere comercio electronico mixi
Slidershere comercio electronico mixiunachi
 
Microclase estructura de datos
Microclase estructura de datosMicroclase estructura de datos
Microclase estructura de datosunachi
 
Ppt tutor virtual
Ppt tutor virtualPpt tutor virtual
Ppt tutor virtualunachi
 
Plataforma vclass
Plataforma vclassPlataforma vclass
Plataforma vclassunachi
 

Más de unachi (8)

Fundamentosbasicosdevisualbasic
FundamentosbasicosdevisualbasicFundamentosbasicosdevisualbasic
Fundamentosbasicosdevisualbasic
 
Introducción a visual basic 6.0
Introducción a visual basic 6.0Introducción a visual basic 6.0
Introducción a visual basic 6.0
 
Proyecto final mixela
Proyecto final mixelaProyecto final mixela
Proyecto final mixela
 
Castillo33
Castillo33Castillo33
Castillo33
 
Slidershere comercio electronico mixi
Slidershere comercio electronico mixiSlidershere comercio electronico mixi
Slidershere comercio electronico mixi
 
Microclase estructura de datos
Microclase estructura de datosMicroclase estructura de datos
Microclase estructura de datos
 
Ppt tutor virtual
Ppt tutor virtualPpt tutor virtual
Ppt tutor virtual
 
Plataforma vclass
Plataforma vclassPlataforma vclass
Plataforma vclass
 

Estructuras de Datos: Abstracción de Datos y Niveles de Abstracción

  • 2. Estructuras de datos Mapa conceptual: ¿Para qué sirve esta materia? Con qué conceptos se relaciona? Qué contiene? Qué aplicaciones? 2
  • 3. Abstracción Abstracción: Representación de las características esenciales de un objeto o entidad. Abstraer: Dar nombre a las cosas. Referenciar: Hacer uso del nombre. 3
  • 5. ¿Por qué es importante la abstracción? El proceso de abstracción, debe convertirse en una habilidad para quien estudie una carrera relacionada con la computación. La capacidad de modelar una realidad por medio de herramientas computacionales requiere necesariamente de hacer continuas abstracciones, por lo que es vital conocer metodologías que desarrollen esta habilidad. 5
  • 6. ¿Qué es la abstracción de datos? La abstracción de datos es una técnica o metodología que permite diseñar estructuras de datos. Consiste básicamente en representar bajo ciertos lineamientos de formato las características esenciales de una estructura de datos. Este proceso de diseño se olvida de los detalles específicos de implementación de los datos. 6
  • 7. ¿Qué es una estructura de datos? Cualquier colección o grupo de datos organizados de tal forma que tengan asociados un conjunto de operaciones para poder manipularlos, se dice que conforma una estructura de datos. 7
  • 8. Tipo de Dato Abstracto (TDA) Es la representación de una entidad u objeto para facilitar su programación. Se compone de:  Estructura de datos: Es la estructura de programación que se selecciona para representar las características de la entidad modelada  Funciones de Abstracción: Son funciones que permiten hacer uso de la estructura de datos, y que esconden los detalles de dicha estructura, permitiendo un mayor nivel de abstracción. 8
  • 9. Especificación lógica de un TDA Se plasma la abstracción realizada al diseñar una estructura de datos, esto pasa a ser el mapa o plano con el cual se construirá la estructura de datos y se definirán claramente las reglas en las que podrá usarse el TDA. La especificación lógica de un TDA consiste de los siguientes cuatro puntos: 9
  • 10. Especificación lógica de un TDA l. Elementos que conformarán la estructura de datos. Es el tipo de los datos que se guardará en la estructura. Ejemplo: números enteros, caracteres, fechas, registros con los datos de un empleado, etcétera. 10
  • 11. Especificación lógica de un TDA 2. Tipo de organización en que se guardarán los elementos. Existen cuatro tipos de organización para los datos en la estructura.  Lineal: Si hay una relación de uno a uno entre los elementos.  Jerárquica: Si hay una relación de uno a muchos entre los elementos.  Red: Si hay una relación de muchos a muchos entre los elementos.  Sin relación: Si no hay relaciones entre los elementos. 11
  • 12. Especificación lógica de un TDA 3. Dominio de la estructura. Este punto es opcional, y en él se describirá la capacidad de la estructura en cuanto al rango posible de datos por guardar. 12
  • 13. Especificación lógica de un TDA 4. Descripción de las operaciones de la estructura. Cada operación que está relacionada con la estructura debe describirse como:  Nombre de la operación.  Descripción breve de su utilidad.  Datos de entrada a la operación.  Datos que genera como salida la operación.  Precondición: Condición que deberá cumplirse antes de utilizar la operación para que se realice sin problemas.  Poscondición: Condición en que queda el TDA después de ejecutar la operación. 13
  • 14. Dinámica Escribe en tu libreta un resumen de lo que acabamos de estudiar sobre la especificación de un TDA. 14
  • 15. Ejemplo: Especificación lógica del TDA: Cadena  Elementos: todos los caracteres alfabéticos (letras mayúsculas y minúsculas), caracteres numéricos y caracteres especiales.  Estructura: hay una relación lineal entre los caracteres  Dominio: existen entre O y 80 caracteres en cada valor del TDA CADENA. El dominio serán todas aquellas secuencias de caracteres que cumplan con las reglas. 15
  • 16. Ejemplo: Operaciones: Borrainicio  Utilidad: Sirve para eliminar el primer carácter de una cadena.  Entrada: Cadena S sobre la que se desea eliminar el primer carácter.  Salida: El carácter más a la izquierda de la cadena S y la cadena S modificada.  Precondición: La cantidad de caracteres es mayor que cero.  Poscondición: La cadena S tiene todos los caracteres, menos el primero. 16
  • 17. Ejemplo: Agregafinal  Utilidad: Sirve para agregar un carácter al final de una cadena.  Entrada: Cadena S y el carácter L, que se añadirá a la cadena S.  Salida: Cadena S modificada.  Precondición: La cantidad de caracteres en S es menor que 80.  Poscondición: La cadena S tiene el carácter L que queda al extremo derecho de la cadena. 17
  • 18. Ejemplo …. Vacía  Utilidad: Sirve para verificar si una cadena está vacía o no.  Entrada: Cadena S que se verificará.  Salida: VERDADERO si la cadena S no tiene caracteres, FALSO en caso contrario.  Precondición: Ninguna  Poscondición: Ninguna (pues la cadena S no se modifica). 18
  • 19. Ejemplo …. Llena  Utilidad: Sirve para verificar si una cadena está llena o no.  Entrada: .Cadena S que será verificada.  Salida: VERDADERO si la cadena S contiene ya 80 caracteres, FALSO en caso contrario  Precondición: Ninguna  Poscondición: Ninguna (pues la cadena S no se modifica). 19
  • 20. Ejemplo …. Invierte  Utilidad: Sirve para invertir el orden de los caracteres en una cadena.  Entrada: Cadena S a la que se desea invertir el orden de los caracteres.  Salida: Cadena S modificada.  Precondición: Ninguna  Poscondición: La secuencia de caracteres en la cadena S se invierte, de forma que el primer carácter toma el lugar del último, el segundo el del penúltimo y así sucesivamente. 20
  • 21. Niveles de abstracción de datos En la abstracción de datos se pueden definir tres niveles de trabajo:  El nivel lógico o abstracto se define la estructura de datos y las operaciones relacionadas con ella. La descripción es independiente del lenguaje de programación en el se usará la estructura. 21
  • 22. Niveles de abstracción de datos 2. El nivel físico o de implementación. En este nivel se decide el lenguaje de programación para la implementación, los tipos de datos ya definidos servirán para representarla y se implementa como un módulo (o método) a cada una de las operaciones del TDA. Este nivel toma el diseño del nivel lógico 3. En el nivel aplicación o de uso el programador usará el TDA para resolver determinada aplicación. El uso del TDA se limita a llamar las operaciones sobre la estructura que se requiera cuidando siempre de cumplir con las reglas de cada operación especificadas en el nivel lógico. 22
  • 23. La independencia de datos y el ocultamiento de información Quien implementa el TDA no debe estar influenciado por la aplicación que tendrá la estructura, y quien use la estructura no tiene porqué saber cómo se implementaron sus operaciones. Entonces la forma en que se almacenan los datos en la estructura es independiente de su aplicación y que para el usuario programador permanece oculto cómo se implementaron las operaciones del TDA. 23
  • 24. ¿Cómo distinguir los niveles de abstracción? Una analogía podría hacerse al comparar este proceso con el que se realiza al construir una casa. Primero se trabaja en el nivel lógico al pedirle a un arquitecto que diseñe el plano. Una vez aprobado el diseño, se procede en el nivel físico, que correspondería a la construcción. Los albañiles seguirán paso a paso las especificaciones dadas en el plano. Una vez que la construcción esté terminada, llegará su dueño para habitarla dándole el uso correspondiente a cada espacio. 24
  • 25. ¿Qué ventajas ofrece utilizar la técnica de abstracción de datos? La técnica obliga a diseñar modularmente y, como consecuencia se tiene una implementación más clara, documentada y es fácil darle mantenimiento. Adicionalmente, gracias a la independencia de datos y al ocultamiento de información se pueden crear paquetes como unidades de software reutilizable con lo que se obtienen estructuras de datos genéricas. 25