28
Práctica tRAZAS & Manejo de memoria

Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Embed Size (px)

DESCRIPTION

Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var local: integer; begin local := pf1 + pf2; writeln(pf1,pf2,local); pf1 := pf1 + 1; pf2 := local + 1; writeln(pf1, pf2, local); end; begin pa1:=1; pa2:=3; writeln(pa1, pa2); p(pa1, pa2); writeln(pa1, pa2); end. Consola Memoria Comienza la ejecución del programa pa1 pa2

Citation preview

Page 1: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

PrácticatRAZAS & Manejo de memoria

Page 2: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1, pf2, local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1, pf2, local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end.

Consola

Memoria

Page 3: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local := pf1 + pf2;  writeln(pf1,pf2,local);  pf1 := pf1 + 1; pf2 := local + 1;  writeln(pf1, pf2, local);end;begin   pa1:=1; pa2:=3;   writeln(pa1, pa2);   p(pa1, pa2);   writeln(pa1, pa2);end.

Consola

Memoria

Comienza la ejecución del programa

pa1pa2

Page 4: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end.

13

Consola

Memoriapa1pa2

Page 5: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

13

Consola

Memoriapa1pa2

Page 6: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

131

Consola

Memoria

El control pasa al procedimientoEl bloque del programa principal se suspende

pa1pa2pf1pf2loca

l

Page 7: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

131

4

Consola

Memoriapa1pa2pf1pf2loca

l

Page 8: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

1 3 4

131

4

Consola

Memoriapa1pa2pf1pf2loca

l

Page 9: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

1 3 4

152

4

Consola

Memoriapa1pa2pf1pf2loca

l

Page 10: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

1 3 42 5 4

152

4

Consola

Memoriapa1pa2pf1pf2loca

l

Page 11: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

1 3 42 5 4

15

Consola

Memoriapa1pa2

El procedimiento termina

Page 12: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2);end. 1 3

1 3 42 5 41 5

15

Consola

Memoriapa1pa2

Page 13: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2, pa1);   writeln(pa1, pa2);end.

1 31 3 42 5 41 5

15

Consola

Memoriapa1pa2

Page 14: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2, pa1);   writeln(pa1,pa2);end.

1 31 3 42 5 41 5

155

Consola

Memoriapa1pa2pf1pf2loca

l

En esta invocación pa2 se liga

a pf1 y pa1 se liga a pf2

Page 15: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

1 31 3 42 5 41 5

155

6

Consola

Memoriapa1pa2pf1pf2loca

l

Page 16: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

…5 1 6

155

6

Consola

Memoriapa1pa2pf1pf2loca

l

Page 17: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

…5 1 6

756

6

Consola

Memoriapa1pa2pf1pf2loca

l

Page 18: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

…5 1 66 7 6

756

6

Consola

Memoriapa1pa2pf1pf2loca

l

Page 19: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

…5 1 66 7 6

75

Consola

Memoriapa1pa2

Page 20: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2);end.

…5 1 66 7 67 5

75

Consola

Memoriapa1pa2

Page 21: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2); p(-10,pa1);   writeln(pa1,pa2);end.

…7 5

75

Consola

Memoriapa1pa2

Page 22: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2); p(-10,pa1);   writeln(pa1,pa2);end.

…5 1 66 7 67 5

75

-10

Consola

Memoriapa1pa2pf1pf2loca

l

Page 23: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2); p(-10,pa1);   writeln(pa1,pa2);end.

…-10 7 -3-9 -2 -3

-25-9

-3

Consola

Memoriapa1pa2pf1pf2loca

l

Page 24: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Pasaje de ParámetrosProgram parametros;var pa1, pa2: integer;procedure p(pf1: integer; var pf2: integer);var local: integer;begin  local:=pf1+pf2;  writeln(pf1,pf2,local);  pf1:= pf1+1; pf2:=local+1;  writeln(pf1,pf2,local);end;begin   pa1:=1; pa2:=3;   writeln(pa1,pa2);   p(pa1,pa2);   writeln(pa1,pa2); p(pa2,pa1);   writeln(pa1,pa2); p(-10,pa1);   writeln(pa1,pa2);end.

…-10 7 -3-9 -2 -3-2 5

-25

Consola

Memoriapa1pa2

Page 25: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Manejo de memoriaprogram paramProc;var pa1, pa2:integer;procedure p(var pf1: integer; var pf2: integer);var local:integer;begin local := pf1+pf2; pf1:= pf1+1; pf2 :=local+1; writeln(pf1, pf2, local);end;begin pa1:=1; pa2:=5; p(pa1, pa1); p(pa1, pa1);end.

pa1pa2

Page 26: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Manejo de memoriaprogram paramProc;var pa1,pa2:integer;procedure p(pf1: integer; pf2: integer);var local: integer;begin local := pf1+pf2; pf1:= pf1+1; pf2 :=local+1; writeln(pf1, pf2, local);end;begin pa1:=1; pa2:=5; p(pa1, pa1);end.

pa1pa2

Page 27: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Manejo de memoria

1pa1pa2

program parampyf;var pa1, pa2: integer; function f(x: integer): integer;begin f:=x+1;end;procedure p(pf1: integer; var pf2: integer);var local: integer;begin local := f(pf1) + f(pf2); pf1:= pf1+10; pf2 :=local+1; writeln(pf1:5,pf2:5,local:5);end;begin pa1:=1; pa2:=f(pa1); p(pa1, pa2); writeln(pa1:5,pa2:5);end.

Page 28: Práctica tRAZAS & Manejo de memoria. Pasaje de Parámetros Program parametros; var pa1, pa2: integer; procedure p(pf1: integer; var pf2: integer); var

Manejo de memoria

12

pa1pa2

program parampyf;var pa1, pa2: integer; function f(x: integer): integer;begin f:=x+1;end;procedure p(pf1: integer; var pf2: integer);var local: integer;begin local := f(pf1) + f(pf2); pf1:= pf1+10; pf2 :=local+1; writeln(pf1:5,pf2:5,local:5);end;begin pa1:=1; pa2:=f(pa1); p(f(pa1*2), pa2); writeln(pa1:5,pa2:5);end.