SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
TIPOS DE DATOS ABSTRACTOS.
DATOS ABSTRACTOS
• Definición: es un tipo de dato creado por el programador, puede contener varios tipos de
datos propios del lenguaje.
• Creación: fuera del main se define, se escribe “struct” seguido del nombre de nuestro dato, y
entre llaves se declaran los componentes de nuestro dato. Ejemplo: dato abstracto alumno
que registre nombre y edad.
struct alumno{
string nombre;
int edad;
};
CREACIÓN
• Para la construcción de tipos abstractos se debe:
1) Establecer la definición del tipo
2) Definir también las operaciones (funciones y procedimientos) que
pueden operar con dicho tipo
3) Ocultar la presentación de los elementos del tipo de modo que sólo se
puede trabajar con ellos usando los procedimientos definidos en el paso 2
4) Poder crear instancias múltiples del tipo
• Para declarar TDA se necesita de dos palabras reservadas en C++.
• Una de ellas es struct, permite crear un tipo de datos compuestos de uno o varios
elementos llamados campos. Ejemplo:
Struct Tipo_Alumno {
string nombre;
int edad;
doble altura;
doble peso;
}
• En este caso se creó un nuevo tipo de dato llamado “Tipo
alumno”, conformado con 4 elementos: cadena, entero, y dos
números dobles.
• La segunda palabra reservada es typedef, esta se utiliza para definir el “alias” o
sinónimo de nuestro tipo de datos. Ejemplo:
typedef struct Tipo_Alumno Alumno;
• Esta sentencia define un nuevo tipo de dato llamado “Alumno”
que contiene la misma estructura y elementos que la estructura
Tipo_Alumno definido anteriormente. Con esto existiría un
nuevo tipo en el lenguaje llamado alumno.
• La sintaxis de las dos palabras claves es:
Struct identificador_1{
nombre_del_tipo elemento_1;
nombre_del_tipo elemento_;
…
nombre_del_tipo elemento_3;
};
Typedef struct dentificador_1 sinónimo;
OPERACIONES SOBRE UN TDA
• Generalmente pueden clasificarse en:
1. Construcción: crean nueva instancia del tipo.
2. Transformación: cambia uno o más elementos del tipo:
3. Observación: permite determinar el valor de uno o más elementos de un
tipo sin modificarlos.
4. Iteradores: permiten procesar todo los elementos de un TDA en forma
secuencial.
• No se analizará la creación cada operación.
• Forma en que se puede acceder cada uno de los elementos de una estructura de datos:
Gabriel.edad 35;
Antonio.altura = 1.76;
Después del nombre de la estructura, para acceder a los elementos de dicha estructura
se utiliza un punto y el nombre del elemento al que se quiera acceder.
Cuando se logra acceder, los elementos de estas estructuras se pueden manipular como
cualquier otra variable de su mismo tipo.
APLICACIONES DE TDA
• Las aplicaciones comunes son la definición de una lista o una pila.
Una pila es una colección dinámica de datos de un mismo tipo, en la que los
elementos se insertan y se extraen por el mismo extremo.
Una lista igual es una colección dinámica de datos de un mismo tipo, para
acceder a cada uno de los elementos es posición. Cada elemento tiene un
único predecesor (excepto el primero) y un único sucesor (excepto el ultimo)
No entraremos en detalle con estas aplicaciones.
MEMORIA
• La memoria se refiere a parte de los componente que forman una
computadora, estas retienen datos informáticos durante un determinado
intervalo de tiempo.
ESTÁTICA
• Una variable está tica no cambia su valor durante la vida del proceso en
ejecución.
• Los valores de variables estáticas se pueden establecer una ves (durante el
tiempo de ejecución) o se puede cambiar en múltiples ocasiones durante la
ejecución del programa.
PROGRAMACIÓN DINÁMICA
• Es un método para reducir el tiempo de ejecución de un algoritmo mediante
la utilización de subproblemas superpuestos y subestructuras óptimas.
• En 1953 el matemático Richard Bellman inventó la Programación Dinámica, la
cual se utiliza para optimizar problemas complejos que pueden ser
discretizados y secuencializados.
MEMORIA ESTÁTICA
• Es la que se reserva en el momento de la compilación antes de comenzar a ejecutar
el programa. Los objetos son creados al iniciar el programa y destruidos al finalizar
el mismo.
Consideraciones
Error en tiempo de ejecución de índice fuera de rango.
Se debe conocer de antemano el tamaño de la estructura.
Se guarda en memorias adyacentes, ejemplo: vectores, matrices, cubos, registros, archivos.
Ventajas:
Lógica simple.
Optimo para resolver problemas pequeños y medianos.
Desventajas:
No se puede modificar el tamaño de la estructura en tiempo de ejecución
No es optima con grandes cantidades de datos
Desperdicio de memoria cuando se utiliza la totalidad del tamaño
MEMORIA DINÁMICA
• Es aquella que no puede ser definida ya que no se conoce o no se tiene idea
del numero de la variable a considerarse.
• La memoria dinámica permite solicitar memoria en tiempo de ejecución al
sistema operativo.
• Este tipo de datos se crean y se destruyen mientras se ejecuta el programa,
así la estructura de datos se dimensiona de acuerdo a los requerimientos del
programa, evitando perder datos o desperdiciar memoria.
Consideraciones:
Manejo transparente del tamaño de la estructura.
Se guarda donde encuentra espacio.
No se guarda necesariamente en memoria adyacente.
Ventajas
El tamaño de la estructura no infiere en la lógica del programa
desventajas
Las estructuras de datos son una forma avanzada de manejar datos en tiempo de ejecución.
CONCLUSIONES GENERALES
• En esta unidad vimos los tipos de datos abstractos que sirven para crear
nuevos tipos de datos según lo requiera el programa, por ejemplo un tipo de
dato llamado “producción” que contenga string para nombre_producto;
int para cantidad; y float para tiempo_elaboración.
• Otro tema que analizamos es la memoria estática, la cual no cambia de valor
durante la ejecución del programa, es fácil de utilizar para programas que no
sean muy complejos. Y la desventaja es que se desperdicia la memoria que no se
ocupe y si se pasa del limite ocurre un desbordamiento de memoria.
• Esto se puede utilizar en programas pequeños en los que se sepa la cantidad de
memoria necesaria, por ejemplo; un programa para una escuela que lleve el
registro de un determinado número de maestros o alumnos.
• En el caso de la memoria dinámica aquella que puede ser definida en el momento
de la ejecución ya que no se conoce, es decir, durante el tiempo de ejecución se
puede pedir memoria al sistema operativo. En el caso de este tipo de memoria no
se guarda en un determinado lugar o en uno definido, se guarda donde haya
espacio.

Más contenido relacionado

La actualidad más candente

P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
Geovanny Yungán
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
EnAutomático
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
K Manuel TN
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 

La actualidad más candente (20)

Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
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
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
 
Top down
Top downTop down
Top down
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Recursividad
RecursividadRecursividad
Recursividad
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 

Similar a Tipos de datos abstractos

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
victoruex
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
Ezer Ayala Mutul
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
Ezer Ayala Mutul
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Juanita Qontreras
 
Diego ochoaguerrero nelsondavidluna
Diego ochoaguerrero nelsondavidlunaDiego ochoaguerrero nelsondavidluna
Diego ochoaguerrero nelsondavidluna
Diǝgo Fǝr
 

Similar a Tipos de datos abstractos (20)

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
 
Estructurade datos
Estructurade datosEstructurade datos
Estructurade datos
 
Estructuta de datos
Estructuta de datosEstructuta de datos
Estructuta de datos
 
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 APRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
PRESENTACION EVIDENCIAS RUBI VERONICA ISC J3 A
 
Evidencias1 (Diapositivas - Rubi Veronica)
Evidencias1 (Diapositivas  - Rubi Veronica)Evidencias1 (Diapositivas  - Rubi Veronica)
Evidencias1 (Diapositivas - Rubi Veronica)
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptx
 
Estructura de datos pdf
Estructura de datos pdfEstructura de datos pdf
Estructura de datos pdf
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema1 (2)
Tema1 (2)Tema1 (2)
Tema1 (2)
 
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_aPrimera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
Primera unidad de_estructura_de_datos_juana_contreras_pelaez_isc_3_semestre_a
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
1-NAC-TDA Estructuras de Datos
1-NAC-TDA Estructuras de Datos1-NAC-TDA Estructuras de Datos
1-NAC-TDA Estructuras de Datos
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Diego ochoaguerrero nelsondavidluna
Diego ochoaguerrero nelsondavidlunaDiego ochoaguerrero nelsondavidluna
Diego ochoaguerrero nelsondavidluna
 
Presentacion proyecto
Presentacion proyectoPresentacion proyecto
Presentacion proyecto
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractos
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
Yanitza28
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
Marc Liust
 

Último (18)

AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 

Tipos de datos abstractos

  • 1. TIPOS DE DATOS ABSTRACTOS.
  • 2. DATOS ABSTRACTOS • Definición: es un tipo de dato creado por el programador, puede contener varios tipos de datos propios del lenguaje. • Creación: fuera del main se define, se escribe “struct” seguido del nombre de nuestro dato, y entre llaves se declaran los componentes de nuestro dato. Ejemplo: dato abstracto alumno que registre nombre y edad. struct alumno{ string nombre; int edad; };
  • 3. CREACIÓN • Para la construcción de tipos abstractos se debe: 1) Establecer la definición del tipo 2) Definir también las operaciones (funciones y procedimientos) que pueden operar con dicho tipo 3) Ocultar la presentación de los elementos del tipo de modo que sólo se puede trabajar con ellos usando los procedimientos definidos en el paso 2 4) Poder crear instancias múltiples del tipo
  • 4. • Para declarar TDA se necesita de dos palabras reservadas en C++. • Una de ellas es struct, permite crear un tipo de datos compuestos de uno o varios elementos llamados campos. Ejemplo: Struct Tipo_Alumno { string nombre; int edad; doble altura; doble peso; } • En este caso se creó un nuevo tipo de dato llamado “Tipo alumno”, conformado con 4 elementos: cadena, entero, y dos números dobles.
  • 5. • La segunda palabra reservada es typedef, esta se utiliza para definir el “alias” o sinónimo de nuestro tipo de datos. Ejemplo: typedef struct Tipo_Alumno Alumno; • Esta sentencia define un nuevo tipo de dato llamado “Alumno” que contiene la misma estructura y elementos que la estructura Tipo_Alumno definido anteriormente. Con esto existiría un nuevo tipo en el lenguaje llamado alumno.
  • 6. • La sintaxis de las dos palabras claves es: Struct identificador_1{ nombre_del_tipo elemento_1; nombre_del_tipo elemento_; … nombre_del_tipo elemento_3; }; Typedef struct dentificador_1 sinónimo;
  • 7. OPERACIONES SOBRE UN TDA • Generalmente pueden clasificarse en: 1. Construcción: crean nueva instancia del tipo. 2. Transformación: cambia uno o más elementos del tipo: 3. Observación: permite determinar el valor de uno o más elementos de un tipo sin modificarlos. 4. Iteradores: permiten procesar todo los elementos de un TDA en forma secuencial.
  • 8. • No se analizará la creación cada operación. • Forma en que se puede acceder cada uno de los elementos de una estructura de datos: Gabriel.edad 35; Antonio.altura = 1.76; Después del nombre de la estructura, para acceder a los elementos de dicha estructura se utiliza un punto y el nombre del elemento al que se quiera acceder. Cuando se logra acceder, los elementos de estas estructuras se pueden manipular como cualquier otra variable de su mismo tipo.
  • 9. APLICACIONES DE TDA • Las aplicaciones comunes son la definición de una lista o una pila. Una pila es una colección dinámica de datos de un mismo tipo, en la que los elementos se insertan y se extraen por el mismo extremo. Una lista igual es una colección dinámica de datos de un mismo tipo, para acceder a cada uno de los elementos es posición. Cada elemento tiene un único predecesor (excepto el primero) y un único sucesor (excepto el ultimo) No entraremos en detalle con estas aplicaciones.
  • 10. MEMORIA • La memoria se refiere a parte de los componente que forman una computadora, estas retienen datos informáticos durante un determinado intervalo de tiempo.
  • 11. ESTÁTICA • Una variable está tica no cambia su valor durante la vida del proceso en ejecución. • Los valores de variables estáticas se pueden establecer una ves (durante el tiempo de ejecución) o se puede cambiar en múltiples ocasiones durante la ejecución del programa.
  • 12. PROGRAMACIÓN DINÁMICA • Es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas. • En 1953 el matemático Richard Bellman inventó la Programación Dinámica, la cual se utiliza para optimizar problemas complejos que pueden ser discretizados y secuencializados.
  • 13. MEMORIA ESTÁTICA • Es la que se reserva en el momento de la compilación antes de comenzar a ejecutar el programa. Los objetos son creados al iniciar el programa y destruidos al finalizar el mismo. Consideraciones Error en tiempo de ejecución de índice fuera de rango. Se debe conocer de antemano el tamaño de la estructura. Se guarda en memorias adyacentes, ejemplo: vectores, matrices, cubos, registros, archivos.
  • 14. Ventajas: Lógica simple. Optimo para resolver problemas pequeños y medianos. Desventajas: No se puede modificar el tamaño de la estructura en tiempo de ejecución No es optima con grandes cantidades de datos Desperdicio de memoria cuando se utiliza la totalidad del tamaño
  • 15. MEMORIA DINÁMICA • Es aquella que no puede ser definida ya que no se conoce o no se tiene idea del numero de la variable a considerarse. • La memoria dinámica permite solicitar memoria en tiempo de ejecución al sistema operativo. • Este tipo de datos se crean y se destruyen mientras se ejecuta el programa, así la estructura de datos se dimensiona de acuerdo a los requerimientos del programa, evitando perder datos o desperdiciar memoria.
  • 16. Consideraciones: Manejo transparente del tamaño de la estructura. Se guarda donde encuentra espacio. No se guarda necesariamente en memoria adyacente. Ventajas El tamaño de la estructura no infiere en la lógica del programa desventajas Las estructuras de datos son una forma avanzada de manejar datos en tiempo de ejecución.
  • 17. CONCLUSIONES GENERALES • En esta unidad vimos los tipos de datos abstractos que sirven para crear nuevos tipos de datos según lo requiera el programa, por ejemplo un tipo de dato llamado “producción” que contenga string para nombre_producto; int para cantidad; y float para tiempo_elaboración.
  • 18. • Otro tema que analizamos es la memoria estática, la cual no cambia de valor durante la ejecución del programa, es fácil de utilizar para programas que no sean muy complejos. Y la desventaja es que se desperdicia la memoria que no se ocupe y si se pasa del limite ocurre un desbordamiento de memoria. • Esto se puede utilizar en programas pequeños en los que se sepa la cantidad de memoria necesaria, por ejemplo; un programa para una escuela que lleve el registro de un determinado número de maestros o alumnos. • En el caso de la memoria dinámica aquella que puede ser definida en el momento de la ejecución ya que no se conoce, es decir, durante el tiempo de ejecución se puede pedir memoria al sistema operativo. En el caso de este tipo de memoria no se guarda en un determinado lugar o en uno definido, se guarda donde haya espacio.