Modelo Estatico

15
11 de septiembre de 2007 ESTRUCTURA DE DATOS II ESTRUCTURA DE DATOS II ESTRUCTURA DE DATOS II MEMORIA ESTATICA MEMORIA ESTATICA EXPOSITOR: EXPOSITOR: Ing. Evans Balcazar Veizaga Ing. Evans Balcazar Veizaga

Transcript of Modelo Estatico

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

ESTRUCTURA DE DATOS IIESTRUCTURA DE DATOS IIMEMORIA ESTATICAMEMORIA ESTATICA

EXPOSITOR:EXPOSITOR:

Ing. Evans Balcazar VeizagaIng. Evans Balcazar Veizaga

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

INTRODUCION:INTRODUCION: -Definición de modelo estático:-Definición de modelo estático: -Ejemplo simples.-Ejemplo simples. -Memoria estática.-Memoria estática. -Clasificación de memoria estática y -Clasificación de memoria estática y

dinámica.dinámica.

ESTRUCUTURA DE MODELO ESTRUCUTURA DE MODELO ESTATICOESTATICO

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

El modelo o memoria estática es una memoria que se El modelo o memoria estática es una memoria que se reserva en el momento de la al compilación, antes de reserva en el momento de la al compilación, antes de comenzar a ejecutarse el programa.comenzar a ejecutarse el programa.

por ejemplo uno simple es:por ejemplo uno simple es: para una resolución de un sistema de ecuaciones para una resolución de un sistema de ecuaciones

lineales , la memoria estática se reserva con sentencias lineales , la memoria estática se reserva con sentencias del tipo.del tipo.

Double a[100][100],x[100],b[100].Double a[100][100],x[100],b[100].

DEFINICION DE MODELO DEFINICION DE MODELO ESTATICOESTATICO

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

El inconveniente de la reserva estática es que la cantidad El inconveniente de la reserva estática es que la cantidad de memoria se reserva siempre antes de conocer los de memoria se reserva siempre antes de conocer los datos concretos del problema a resolver.datos concretos del problema a resolver.

Eso lleva siempre un máximo de memoria que en la Eso lleva siempre un máximo de memoria que en la mayor parte de las ocasiones no se necesita.mayor parte de las ocasiones no se necesita.

La reserva estática tampoco se adapta bien a la memoria La reserva estática tampoco se adapta bien a la memoria real disponible en el ordenador en que se esta real disponible en el ordenador en que se esta ejecutando el programa.ejecutando el programa.

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

Es la que se usa para almacenar valores constantes y Es la que se usa para almacenar valores constantes y también datos globales , que deben ser visibles en todo también datos globales , que deben ser visibles en todo los módulos del programa.los módulos del programa.

Cuando un dato esta almacenado en la memoria, o Cuando un dato esta almacenado en la memoria, o también en la estática, se dice que es una también en la estática, se dice que es una variablevariable, , porque, para que exista, el programador debe porque, para que exista, el programador debe declararlo en su programa, por ejemplo en pascal se declararlo en su programa, por ejemplo en pascal se logra nombrándolo en la cláusula logra nombrándolo en la cláusula var.var. de cada modulo. de cada modulo.

MEMORIA ESTATICAMEMORIA ESTATICA

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

Tenemos dos clasificaciones diferentes de memorias o Tenemos dos clasificaciones diferentes de memorias o modelos principales.modelos principales.

MemoriaMemoria estática estática vs. Memoria vs. Memoria dinámicadinámica

Memoria Memoria automáticaautomática vs. Memoria vs. Memoria no automática.no automática.

CLASIFICACIONCLASIFICACION

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

Automática y no AutomáticaAutomática y no Automática

Estática Estática Variable globales Variable globales

Dinámica Dinámica Parámetros formales Parámetros formales

Punteros, variables locales.Punteros, variables locales.

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

MEMORIAMEMORIA La memoria de un ordenador está dividida en casillas o La memoria de un ordenador está dividida en casillas o

celdas de igual tamaño.celdas de igual tamaño.

Para acceder a una casilla determinada hay que señalar su Para acceder a una casilla determinada hay que señalar su dirección, que identifica unívocamente a cada casilla.dirección, que identifica unívocamente a cada casilla.

Tanto en la memoria como en el procesador, la información Tanto en la memoria como en el procesador, la información es procesada y transmitida mediante unidades denominadas es procesada y transmitida mediante unidades denominadas palabraspalabras de memoria.de memoria.

La longitud de cada palabra de memoria varía de una La longitud de cada palabra de memoria varía de una máquina a otra, aunque hoy en día el tamaño más habitual es máquina a otra, aunque hoy en día el tamaño más habitual es de 16, 32 y 64 bits.de 16, 32 y 64 bits.

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

MEMORIAZona de código

Es la parte de la memoria donde residen las instrucciones de nuestro programa; suele ocupar las direcciones más bajas de la memoria.

Zona de datos

Se alojan los datos estáticos de nuestro programa, es decir, las variables globales del mismo. Suele ser un espacio de memoria limitado, por lo que el número y tamaño de estas variables también está limitado. Forma junto con la zona de código la parte estática de la memoria

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

Tipos de datos Estáticos

Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuir.

MEMORIA

Variable

Una variable es un elemento o espacio de la memoria que sirve de almacenamiento de un valor, referenciada por un nombre, y perteneciente a un tipo de dato.

En la declaración de la variable también queda definida la asociación entre el nombre y el espacio de memoria reservado: antes de la ejecución de un programa el ordenador ya conoce los requerimientos de espacio que ese programa lleva consigo.

Datos Estáticos:

Su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación.

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

MEMORIARepresentación de un tipo array en memoria

Cada elemento del array ocupa el tipo simple que lo compone.

Los elementos de un array ocupan posiciones de memoria consecutivas.

Por ejemplo en sintaxis de C++ int a[5];

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

Variable - Tipo de dato – Valor

Una variable es un trozo de memoria, el tamaño ese trozo de tamaño lo determina el tipo de dato para el que se ha creado esa variable.

Para que un objeto pueda ser almacenado en memoria estática su tamaño (número de bytes necesarios para su almacenamiento) ha de ser conocido en tiempo de compilación.

Como consecuencia de esta condición no podrán almacenarse en memoria

estática.

MEMORIA

Los objetos correspondientes a procedimientos o funciones recursivas, ya que en tiempo de compilación no se sabe el número de variables que serán necesarias.

Las estructuras dinámicas de datos tales como listas, árboles, etc. ya que el número de elementos que las forman no es conocido hasta que el programa se ejecuta.

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

APLICACION FUNCIONAL

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

El ejemplo típico son los vectores y matrices.import java.io.*;public class operacion{

static final int max=20;static int v[][]=new int[max][max];

static int fil; static int col; static void cargar()throws IOException

{ BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); System.out.println ("Introdusca la fila:");

fil=Integer.parseInt(bu.readLine());System.out.println ("Introdusca la columna");col=Integer.parseInt(bu.readLine());System.out.println ("Introdusca los elementos de la matriz");

for(int i=0;i<fil;i++){

for(int j=0;j<col;j++) v[i][j]=Integer.parseInt(bu.readLine());

}}

APLICACIÓN FUNCIONAL

11 de septiembre de 2007 ESTRUCTURA DE DATOS II MODELO ESTÁTICO

static void mostrar(){ System.out.println ("La matriz es:"); for(int i=0;i<fil;i++){ for(int j=0;j<col;j++)

{ System.out.print (" "+v[i][j]);

} System.out.println ("");

}}static int Traza() {

int s=0; if(fil==col) { for(int i=0;i<fil;i++) { for(int j=0;j<col;j++) { if(i==j) { s+=v[i][j]; } } } }

return s; }

public static void main(String[] args)throws IOException { cargar(); mostrar(); System.out.println ("\nLA TRAZA DE UNA MATRIZ ES:"+Traza()); }}