SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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++
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Tema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfTema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfmaryisabelpantojavar
 
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfT.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfLizCarolAmasifuenIba
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxYesseniaGuzman7
 
estadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosestadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosVeritoIlma
 
Coca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxCoca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxJesDavidZeta
 
Elección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxElección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxDiegoQuispeHuaman
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfOdallizLucanaJalja1
 
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdfRamon Costa i Pujol
 
VAMOS MANAOS, análisis e historia de la empresa Manaos
VAMOS MANAOS, análisis e historia de la empresa ManaosVAMOS MANAOS, análisis e historia de la empresa Manaos
VAMOS MANAOS, análisis e historia de la empresa Manaosmalenasilvaet7
 
Habilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxHabilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxLUISALEJANDROPEREZCA1
 
EL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxEL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxec677944
 
FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..angelicacardales1
 
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Oxford Group
 
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURA
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURAPRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURA
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURAgisellgarcia92
 
Pensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB EmpresasPensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB Empresasanglunal456
 
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnico
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnicoEl MCP abre convocatoria de Monitoreo Estratégico y apoyo técnico
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnicoTe Cuidamos
 
¿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
 
Administración en nuestra vida cotidiana .pdf
Administración en nuestra vida cotidiana .pdfAdministración en nuestra vida cotidiana .pdf
Administración en nuestra vida cotidiana .pdfec677944
 
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxT.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxLizCarolAmasifuenIba
 
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAPRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAgisellgarcia92
 

Kürzlich hochgeladen (20)

Tema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfTema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdf
 
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfT.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
 
estadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosestadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicos
 
Coca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxCoca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptx
 
Elección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxElección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptx
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
 
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf
20240418-CambraSabadell-SesInf-AdopTecnologica-CasoPractico.pdf
 
VAMOS MANAOS, análisis e historia de la empresa Manaos
VAMOS MANAOS, análisis e historia de la empresa ManaosVAMOS MANAOS, análisis e historia de la empresa Manaos
VAMOS MANAOS, análisis e historia de la empresa Manaos
 
Habilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxHabilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptx
 
EL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxEL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptx
 
FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..
 
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
 
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURA
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURAPRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURA
PRESENTACIÓN NOM-009-STPS-2011 TRABAJOS EN ALTURA
 
Pensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB EmpresasPensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB Empresas
 
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnico
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnicoEl MCP abre convocatoria de Monitoreo Estratégico y apoyo técnico
El MCP abre convocatoria de Monitoreo Estratégico y apoyo técnico
 
¿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?
 
Administración en nuestra vida cotidiana .pdf
Administración en nuestra vida cotidiana .pdfAdministración en nuestra vida cotidiana .pdf
Administración en nuestra vida cotidiana .pdf
 
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxT.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
 
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAPRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
 

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