La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Funcionamiento, programación

Presentaciones similares


Presentación del tema: "Funcionamiento, programación"— Transcripción de la presentación:

1 Funcionamiento, programación
Memoria interna RAM: Funcionamiento, programación y recursividad

2 Definición Random Access Memory, normalmente conocida como Memoria RAM) es un tipo de dispositivo de almacenamiento de datos. Adopta la forma de circuitos integrados en pequeñas tarjetas que permiten que los datos se almacenen y sea accesible a ellos mediante ordenes. La RAM es una memoria volátil, que significa que la información o instrucciones que almacena en ella se pierden en el momento que deja de recibir voltaje.

3 RAM (ESTATICA Y DINAMICA)
RAMs se dividen en estáticas y dinámicas. Una Memoria RAM estática mantiene su contenido mientras esté alimentada. En cambio, en una Memoria RAM dinámica la lectura es destructiva, es decir que la información se pierde al leerla, para evitarlo hay que restaurar la información contenida en sus celdas, operación denominada refresco. Cada celda de la RAM tiene una ubicación o nombre en una nomenclatura aceptada por la comunidad científica: el sistema hexadecimal. Cada depósito de un dato en la memoria (operando, resultado, etc.) se ubica por una dirección en hexadecimal.

4 Programación de la memoria =
algoritmos (sistemas) + uso de memoria Es la aplicación de los algoritmos para optimizar el uso de la memoria del computador

5 Optimización de la memoria
Se puede optimizar el uso de memoria a través de: ESTRUCTURAS ESTATICAS (desde la compilación reservan un espacio fijo de elementos) Arreglos (vectores 1 dimensión y matriz de n dimensiones) ESTRUCTURAS DINÁMICAS (en la ejecución varia el número de elementos y uso de memoria a lo largo del programa) Lineales (listas enlazadas, pilas y colas) No lineales (arboles y grafos o redes)

6 Asignación de información en celdas de memoria
Memoria global (“estática”). Es la usada por variables globales y cadenas constantes. Memoria local Es la usada por variables declaradas dentro de funciones. Los argumentos de una función son variables locales. Memoria dinámica Esta memoria se puede pedir en cualquier momento de la ejecución con una llamada a malloc Memory Allocation función de asignación de memoria dinámica de C y C++

7 Liberación de memoria La memoria global se libera automaticamente al terminar el programa. La memoria local se libera automaticamente al terminar la invocación a funcion que la creo. La memoria dinámica se puede liberar en cualquier momento de la ejecucion pasandole un puntero al bloque de memoria a la función free.

8 Funciones predefinidas de manejo de memoria dinámica en C y C++
Función calloc().- void *calloc(int num, int tam); Reserva un bloque de memoria para almacenar num elementos de tam bytes cada uno de ellos. Función malloc().-void *malloc(int tam); (tambien con new) Reserva un bloque de memoria de tam bytes. Función realloc().-void *realloc(void *ptr, int nuevo_tamaño); Cambia el tamaño del bloque de memoria apuntada por ptr al nuevo tamaño indicado por nuevo_tamaño Función free().-void free(void *ptr); Libera el bloque de memoria apuntada por ptr y que previamente ha sido asignado mediante malloc() o calloc().

9 RECURSIVIDAD: La recursividad es una técnica de programación que nos permite la reducción de código, la programación de procesos y el manejo de la memoria principal. Se utiliza para realizar una llamada a una función desde la misma función.

10 Ejemplo: Por ejemplo GNU, es un acrónimo (una sigla que se pronuncia como palabra) recursivo (GNU’s Not Unix), ya que la G en GNU, significa GNU, cuya G significa GNU, y así recursivamente…

11 Directa cuando una función se llama a sí misma.
Tipos de recursividad: Una función se puede llamar a sí misma, a este proceso se le llama recursividad y puede ser directa e indirecta. Directa cuando una función se llama a sí misma. Recursividad indirecta cuando una función llama a otra función y ésta última llama a la primera.

12 Formas de recursividad
Pora Ambos tipos de recursividad se dan en dos formas, aquellas que eventualmente terminan y producen un resultado y el caso en que la recursividad nunca termina produciendo un bucle infinito y de aquí una falla en tiempo de ejecución por falta de memoria. (principio de la generación de virus)

13 EJEMPLO: La serie de Fibonacci


Descargar ppt "Funcionamiento, programación"

Presentaciones similares


Anuncios Google