SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
ADT- Tipo abstracto de Datos




         Sección 6.2-6.3




                               1
Desarrollo de tipos de datos
1957-1960 FORTRAN, ALGOL – datos primitivos que
   emulaban el hardware
1960-1963 COBOL, PL/I – Datos primitivos extendidos con
   colecciones de objetos y registros primitivos.
1968-1970 Pascal, ALGOL-68 – Extiende la funcionalidad
   con nuevos tipos. Crea funciones que usan los nuevos
   tipos.
1972--1976 Edad de la encapsulación (Parnas)-
   Ocultamiento de la información
• Crea firmas de tipos de datos
• Sobrecarga
• Herencia
• Nuevos lenguajes:
   Alphard (Wulf, Shaw, LondonU)    Euclid (Toronto)
   CLU (Liskov)                     Modula (Wirth)
   Smalltalk (Kay)                  Ada (DoD)
   Eiffel (Meyer)
1980--1985 Orientación a Objetos - Smalltalk-80, C++,
   Miranda, ML, FORTRAN-90, Ada-95

                                                      2
Historia




           3
4
Tipos

Un tipo (tipo de dato) es un conjunto de valores que un
   objeto puede tener.
Un tipo abstracto de datos (ADT) es un:
• Tipo de datos
• Conjunto de funciones (operaciones) que operan sobre
   datos de ese tipo
• Cada función es definida por su firma.
• Puede también especificar operaciones formales




                                                      5
Ejemplo ADT

ADT estudiante:
• Operaciones:
   PonerNombre: nombre x estudiante    estudiante
   ConseguirNombre: estudiante    nombre
   PonerCurso: curso x estudiante    estudiante
   Obtener curso: estudiante    curso *
   ObtenerCreditos: estudiante    integer

En este ejemplo, Nombre y Curso son ADT indefinidos.
   Ellos están definidos por alguna otra abstracción.

Ocultamiento de Información: No tenemos idea de COMO el
   objeto estudiante es almacenado, ni tampoco nos
   importa. Todo lo que nos interesa es el
   comportamiento de los datos de acuerdo con las
   funciones definidas.

                                                        6
Ocultamiento de Información
Ocultamiento de información puede ser construido en
   cualquier lenguaje
Ejemplo en C:
typedef struct {i:int; ... } TipoA;
typedef struct { ... } TipoB;
P1 (TipoA X, otros datos) { ... } - P1:otros datos
   TipoA
P2 (TipoB U, TipoA V) { ... }    - P2:TipoA    TipoB

Problemas con esta infraestructura:
• No obligación de ocultamiento de la información. En P2
   se puede escribir V.i para acceder componente i del
   objeto de TipoA en vez de llamar a P1.
• El éxito depende de las convenciones
• Pero la ventaja es que puede ser hecho en Pascal o C.
Veremos más tarde mecanismos para obligar al ocultamiento
   de la información (Smalltalk, C++, Java, Ada).
   Llamaremos a esto encapsulación.

                                                        7
Implementación de almacenamiento de
                  subprogramas
Antes de estudiar a los ADT en detalle, necesitaremos
   entender el método usual de los subprogramas para
   crear objetos locales.
Cada subprograma tiene un bloque de almacenamiento
   conteniendo esa información, denominado un registro
   de activación.

Considere el siguiente subprograma en C:
   float FN( float X, int Y)
       const valinic=2;
       #define valfinal 10
       float M(10); int N;
       N = valinic;
       if(N<valfinal){ ... }
       return (20 * X + M(N)); }
Información sobre el procedimiento FN esta contenido en
   sus registros de activación.


                                                         8
Registros de activación




Arriba izquierda: Código producido por el compilador para la
   ejecución del procedimiento FN.
Arriba derecha: Almacenamiento de datos necesario para el
   procedimiento FN durante la ejecución. El compilador une
   cada identificador en FN con una posición de
   almacenamiento en un registro de activación.
                                                               9
Naturaleza dinámica de los registros de activación

Cada llamada a FN causa que un nuevo registro de
   activación sea creado.
Por lo que el código estático generado por el
   compilador para FN estará asociado con un nuevo
   registro de activación cada vez que FN sea llamado.
Como veremos posteriormente, una estructura de pila es
   utilizada para el almacenamiento de los registros de
   activación.




                                                      10
Administración del almacenamiento

Los datos locales son almacenados en un área llamada
   registro de activación (también llamada marco de pila
   - stack frame).




Dirección de datos es un proceso de dos pasos:
1. Obtener un puntero al registro de activación
   relevante que contiene las declaraciones.
2. Encontrar el desplazamiento en el registro de
   activación para ese dato.

                                                      11
Tiempo de vida
IMPORTANTE:
1. El puntero del registro de activación es determinado
   durante la ejecución del programa. Ocurre
   frecuentemente, por lo que debe ser un calculo
   eficiente.
2. El desplazamiento dentro del registro de activación
   es fijo y determinado durante la compilación. Debe
   requerir un calculo mínimo.
El tiempo de vida de una variable es el periodo
   durante la ejecución del programa cuando el
   almacenamiento para la variable declarada existe en
   algún registro de activación (por Ej. desde el tiempo
   en que el registro de activación es creado por la
   declaración hasta que el registro de activación es
   destruido).
El ámbito (scope) de una variable es la porción del
   programa fuente donde el dato puede ser accesado (por
   Ej. el nombre es una referencia legal en ese punto
   del programa).

                                                      12
Tiempos de vida (continuación)

Dos modelos de tiempos de vida de datos:
   Estático: Basado en la estructura estática del
   programa
   Dinámico: Basado en la ejecución de un programa

En general, tiempos de vida estáticos son implementados
   en pilas.




                                                      13
Tiempos de vida de variables

Tiempo de vida de variable X es el periodo cuando el
   registro de activación para P existe.

Note que podemos cambiar el ámbito, pero no el tiempo
   de vida de una variable al anidar procedimientos:




                                                        14

Más contenido relacionado

La actualidad más candente

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueoslenionic
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130reyarturo16
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#UVM
 
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 abstractoserwin_alexander
 
What is r in spanish.
What is r in spanish.What is r in spanish.
What is r in spanish.Ajay Ohri
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segmentgabo
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Colaguest39b2f2
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Johannadotel
 
Mapa conceptual de colas..
Mapa conceptual de colas..Mapa conceptual de colas..
Mapa conceptual de colas..Luis Gonzalez
 
Sistemas Operativos Jose Carrillo
Sistemas Operativos Jose CarrilloSistemas Operativos Jose Carrillo
Sistemas Operativos Jose CarrilloJose Carrillo
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractoserwin_alexander
 

La actualidad más candente (19)

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
Lifo
Lifo Lifo
Lifo
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
 
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
 
What is r in spanish.
What is r in spanish.What is r in spanish.
What is r in spanish.
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segment
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Cola
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Mapa conceptual de colas..
Mapa conceptual de colas..Mapa conceptual de colas..
Mapa conceptual de colas..
 
INFODELPHI
INFODELPHIINFODELPHI
INFODELPHI
 
Sistemas Operativos Jose Carrillo
Sistemas Operativos Jose CarrilloSistemas Operativos Jose Carrillo
Sistemas Operativos Jose Carrillo
 
Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistente
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 

Similar a Adt

Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADJosé Antonio Sandoval Acosta
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 
37 supervisión del sistema
37  supervisión del sistema37  supervisión del sistema
37 supervisión del sistemaAprende Viendo
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
CvTrafficCounter Video
CvTrafficCounter VideoCvTrafficCounter Video
CvTrafficCounter VideoPaul Arévalo
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++kikeMerck
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3Wally IG
 
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
 
Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)jenny21071
 
Gestion de memoria en tiempo de ejecucion
Gestion de memoria en tiempo de ejecucionGestion de memoria en tiempo de ejecucion
Gestion de memoria en tiempo de ejecucionAndresDvila
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexvictoruex
 

Similar a Adt (20)

Estructura de datos pdf
Estructura de datos pdfEstructura de datos pdf
Estructura de datos pdf
 
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TADEstructura de Datos Unidad 1 Tipo abstracto de datos TAD
Estructura de Datos Unidad 1 Tipo abstracto de datos TAD
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
37 supervisión del sistema
37  supervisión del sistema37  supervisión del sistema
37 supervisión del sistema
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
CvTrafficCounter Video
CvTrafficCounter VideoCvTrafficCounter Video
CvTrafficCounter Video
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Slam Ii
Slam IiSlam Ii
Slam Ii
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3
 
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
 
Fortran
FortranFortran
Fortran
 
Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)
 
Tema1 (2)
Tema1 (2)Tema1 (2)
Tema1 (2)
 
Gestion de memoria en tiempo de ejecucion
Gestion de memoria en tiempo de ejecucionGestion de memoria en tiempo de ejecucion
Gestion de memoria en tiempo de ejecucion
 
Presentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uexPresentacion unidad u1_estructura_de_datos_victor_uex
Presentacion unidad u1_estructura_de_datos_victor_uex
 
Traducción bc360
Traducción bc360Traducción bc360
Traducción bc360
 
Traducción bc360
Traducción bc360Traducción bc360
Traducción bc360
 

Más de johanna20

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1johanna20
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2johanna20
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1johanna20
 
Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalaresjohanna20
 
examen fisica c
examen fisica cexamen fisica c
examen fisica cjohanna20
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisicajohanna20
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004johanna20
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regularesjohanna20
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercialjohanna20
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizacionesjohanna20
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)johanna20
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte Ijohanna20
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contablejohanna20
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicosjohanna20
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacionjohanna20
 

Más de johanna20 (20)

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Arreglos
ArreglosArreglos
Arreglos
 
Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalares
 
examen fisica c
examen fisica cexamen fisica c
examen fisica c
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisica
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regulares
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercial
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizaciones
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte I
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contable
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicos
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacion
 
Color
ColorColor
Color
 
Clipping
ClippingClipping
Clipping
 
Iluminacion
IluminacionIluminacion
Iluminacion
 
Hilos
HilosHilos
Hilos
 

Último

DO_FCE_310_PO_.pdf. La contabilidad gubernamental SOS de suma importancia fu...
DO_FCE_310_PO_.pdf.  La contabilidad gubernamental SOS de suma importancia fu...DO_FCE_310_PO_.pdf.  La contabilidad gubernamental SOS de suma importancia fu...
DO_FCE_310_PO_.pdf. La contabilidad gubernamental SOS de suma importancia fu...ssuser2887fd1
 
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...AdrianaCarmenRojasDe
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzassuperamigo2014
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosk7v476sp7t
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptxkarlagonzalez159945
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfihmorales
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..JoseRamirez247144
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxJaredmoisesCarrillo
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?Michael Rada
 
Rendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosRendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosCondor Tuyuyo
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-ComunicacionesIMSA
 
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptx
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptxJOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptx
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptxJosVidal41
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptxAndreaAlessandraBoli
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...antonellamujica
 

Último (20)

DO_FCE_310_PO_.pdf. La contabilidad gubernamental SOS de suma importancia fu...
DO_FCE_310_PO_.pdf.  La contabilidad gubernamental SOS de suma importancia fu...DO_FCE_310_PO_.pdf.  La contabilidad gubernamental SOS de suma importancia fu...
DO_FCE_310_PO_.pdf. La contabilidad gubernamental SOS de suma importancia fu...
 
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzas
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptx
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdf
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptx
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?
¿ESTÁ PREPARADA LA LOGÍSTICA PARA EL DECRECIMIENTO?
 
Rendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosRendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de Condominios
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
 
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptx
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptxJOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptx
JOSSELYN SALINfffffffAS- CAPITULO 4 Y 5.pptx
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
 

Adt

  • 1. ADT- Tipo abstracto de Datos Sección 6.2-6.3 1
  • 2. Desarrollo de tipos de datos 1957-1960 FORTRAN, ALGOL – datos primitivos que emulaban el hardware 1960-1963 COBOL, PL/I – Datos primitivos extendidos con colecciones de objetos y registros primitivos. 1968-1970 Pascal, ALGOL-68 – Extiende la funcionalidad con nuevos tipos. Crea funciones que usan los nuevos tipos. 1972--1976 Edad de la encapsulación (Parnas)- Ocultamiento de la información • Crea firmas de tipos de datos • Sobrecarga • Herencia • Nuevos lenguajes: Alphard (Wulf, Shaw, LondonU) Euclid (Toronto) CLU (Liskov) Modula (Wirth) Smalltalk (Kay) Ada (DoD) Eiffel (Meyer) 1980--1985 Orientación a Objetos - Smalltalk-80, C++, Miranda, ML, FORTRAN-90, Ada-95 2
  • 4. 4
  • 5. Tipos Un tipo (tipo de dato) es un conjunto de valores que un objeto puede tener. Un tipo abstracto de datos (ADT) es un: • Tipo de datos • Conjunto de funciones (operaciones) que operan sobre datos de ese tipo • Cada función es definida por su firma. • Puede también especificar operaciones formales 5
  • 6. Ejemplo ADT ADT estudiante: • Operaciones: PonerNombre: nombre x estudiante estudiante ConseguirNombre: estudiante nombre PonerCurso: curso x estudiante estudiante Obtener curso: estudiante curso * ObtenerCreditos: estudiante integer En este ejemplo, Nombre y Curso son ADT indefinidos. Ellos están definidos por alguna otra abstracción. Ocultamiento de Información: No tenemos idea de COMO el objeto estudiante es almacenado, ni tampoco nos importa. Todo lo que nos interesa es el comportamiento de los datos de acuerdo con las funciones definidas. 6
  • 7. Ocultamiento de Información Ocultamiento de información puede ser construido en cualquier lenguaje Ejemplo en C: typedef struct {i:int; ... } TipoA; typedef struct { ... } TipoB; P1 (TipoA X, otros datos) { ... } - P1:otros datos TipoA P2 (TipoB U, TipoA V) { ... } - P2:TipoA TipoB Problemas con esta infraestructura: • No obligación de ocultamiento de la información. En P2 se puede escribir V.i para acceder componente i del objeto de TipoA en vez de llamar a P1. • El éxito depende de las convenciones • Pero la ventaja es que puede ser hecho en Pascal o C. Veremos más tarde mecanismos para obligar al ocultamiento de la información (Smalltalk, C++, Java, Ada). Llamaremos a esto encapsulación. 7
  • 8. Implementación de almacenamiento de subprogramas Antes de estudiar a los ADT en detalle, necesitaremos entender el método usual de los subprogramas para crear objetos locales. Cada subprograma tiene un bloque de almacenamiento conteniendo esa información, denominado un registro de activación. Considere el siguiente subprograma en C: float FN( float X, int Y) const valinic=2; #define valfinal 10 float M(10); int N; N = valinic; if(N<valfinal){ ... } return (20 * X + M(N)); } Información sobre el procedimiento FN esta contenido en sus registros de activación. 8
  • 9. Registros de activación Arriba izquierda: Código producido por el compilador para la ejecución del procedimiento FN. Arriba derecha: Almacenamiento de datos necesario para el procedimiento FN durante la ejecución. El compilador une cada identificador en FN con una posición de almacenamiento en un registro de activación. 9
  • 10. Naturaleza dinámica de los registros de activación Cada llamada a FN causa que un nuevo registro de activación sea creado. Por lo que el código estático generado por el compilador para FN estará asociado con un nuevo registro de activación cada vez que FN sea llamado. Como veremos posteriormente, una estructura de pila es utilizada para el almacenamiento de los registros de activación. 10
  • 11. Administración del almacenamiento Los datos locales son almacenados en un área llamada registro de activación (también llamada marco de pila - stack frame). Dirección de datos es un proceso de dos pasos: 1. Obtener un puntero al registro de activación relevante que contiene las declaraciones. 2. Encontrar el desplazamiento en el registro de activación para ese dato. 11
  • 12. Tiempo de vida IMPORTANTE: 1. El puntero del registro de activación es determinado durante la ejecución del programa. Ocurre frecuentemente, por lo que debe ser un calculo eficiente. 2. El desplazamiento dentro del registro de activación es fijo y determinado durante la compilación. Debe requerir un calculo mínimo. El tiempo de vida de una variable es el periodo durante la ejecución del programa cuando el almacenamiento para la variable declarada existe en algún registro de activación (por Ej. desde el tiempo en que el registro de activación es creado por la declaración hasta que el registro de activación es destruido). El ámbito (scope) de una variable es la porción del programa fuente donde el dato puede ser accesado (por Ej. el nombre es una referencia legal en ese punto del programa). 12
  • 13. Tiempos de vida (continuación) Dos modelos de tiempos de vida de datos: Estático: Basado en la estructura estática del programa Dinámico: Basado en la ejecución de un programa En general, tiempos de vida estáticos son implementados en pilas. 13
  • 14. Tiempos de vida de variables Tiempo de vida de variable X es el periodo cuando el registro de activación para P existe. Note que podemos cambiar el ámbito, pero no el tiempo de vida de una variable al anidar procedimientos: 14