Eficiencia X

Calcula la memoria estática de un programa en Pascal

Pruebas.

var
	caracter:char;
	numero: integer;
	numero : INTEGER;
	r:real;
	bool:boolean;
	puntero: ^integer;
	puntero2:^char;
	puntero:^real;
	puntero:^boolean;
begin
end.

image

Codigo de prueba.

program Problema;
type
  cadena35 = string[35];
  empleado = record
    dirCorreo: cadena35;
    edad: integer;
    sueldo:real;
  end:
  
  punt = empleado^;
  vector = array [1..500] of punt;
  
  lista = ^nodo;
  nodo = record
    dato: empleado;
    sig: lista;
  end;
  
var
	caracter:char;
	numero: integer;
	numero : INTEGER;
	r:real;
	bool:boolean;
	puntero: ^integer;
	puntero2:^char;
	puntero:^real;
	puntero:^boolean;
begin

  l:=nil;
  for i:=1 to 10 to 
  begin
    read(emp.dirCorreo, emp.edad, emp.sueldo);
    if (emp.edad < 40) and (emp.sueldo < 40000) then
      exp.sueldo:= exp.sueldo + 7000;
    new(aux); 
    aux^.dato := emp;
    aux^.sig: := l;
    l := aux;    
  end;
end.

image

Agregando strings.

program Problema;
type
  cadena35 = string[35];
  empleado = record
    dirCorreo: cadena35;
    edad: integer;
    sueldo:real;
  end:
  
  punt = empleado^;
  vector = array [1..500] of punt;
  
  lista = ^nodo;
  nodo = record
    dato: empleado;
    sig: lista;
  end;
  
var
	caracter:char;
	numero: integer;
	numero : INTEGER;
	r:real;
	bool:boolean;
	puntero: ^integer;
	puntero2:^char;
	puntero:^real;
	puntero:^boolean;
        nombre:cadena35;
begin

 
end.
  

image

Type terminado.

program Problema;
type
  cadena35 = string[35];
  empleado = record
    dirCorreo: cadena35;
    edad: integer;
    sueldo:real;
  end;
  
  punt = ^empleado;
  vector = array [1..500] of punt;
  
  lista = ^nodo;
  nodo = record
    dato: empleado;
    sig: lista;
  end;
  
var
  v:vector;
  aux:lista;
  emp:empleado;
  i:integer;
begin
  l:=nil;
  for i:=1 to 10 to 
  begin
    read(emp.dirCorreo, emp.edad, emp.sueldo);
    if (emp.edad < 40) and (emp.sueldo < 40000) then
      exp.sueldo:= exp.sueldo + 7000;
    new(aux); 
    aux^.dato := emp;
    aux^.sig: := l;
    l := aux;    
  end;
end.
  

image

image

Empezamos memoria dinamica

program Problema;
type
  cadena35 = string[35];
  empleado = record
    dirCorreo: cadena35;
    edad: integer;
    sueldo:real;
  end;
  
  punt = ^empleado;
  vector = array [1..500] of punt;
  
  lista = ^nodo;
  nodo = record
    dato: empleado;
    sig: lista;
  end;
  
var
  v:vector;
  aux:lista;
  emp:empleado;
  i:integer;
begin
   new(aux); 
end.
  

Eliminamos todos los espacios para trabajar de forma mas facil

Fuentes.