Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 Práctica tRAZAS & Manejo de memoria

2 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

3 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

4 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. 1 3 Consola Memoria pa1 pa2

5 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. 1 3 1 3 Consola Memoria pa1 pa2

6 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. 1 3 1 3 1 Consola Memoria El control pasa al procedimiento El bloque del programa principal se suspende pa1 pa2 pf1 pf2 local

7 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. 1 3 1 3 1 4 Consola Memoria pa1 pa2 pf1 pf2 local

8 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. 1 3 1 3 4 1 3 1 4 Consola Memoria pa1 pa2 pf1 pf2 local

9 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. 1 3 1 3 4 1 5 2 4 Consola Memoria pa1 pa2 pf1 pf2 local

10 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. 1 3 1 3 4 2 5 4 1 5 2 4 Consola Memoria pa1 pa2 pf1 pf2 local

11 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. 1 3 1 3 4 2 5 4 1 5 Consola Memoria pa1 pa2 El procedimiento termina

12 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. 1 3 1 3 4 2 5 4 1 5 1 5 Consola Memoria pa1 pa2

13 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); p(pa2, pa1); writeln(pa1, pa2); end. 1 3 1 3 4 2 5 4 1 5 1 5 Consola Memoria pa1 pa2

14 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); p(pa2, pa1); writeln(pa1,pa2); end. 1 3 1 3 4 2 5 4 1 5 1 5 5 Consola Memoria pa1 pa2 pf1 pf2 local En esta invocación pa2 se liga a pf1 y pa1 se liga a pf2

15 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); p(pa2,pa1); writeln(pa1,pa2); end. 1 3 1 3 4 2 5 4 1 5 1 5 5 6 Consola Memoria pa1 pa2 pf1 pf2 local

16 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); p(pa2,pa1); writeln(pa1,pa2); end. … 5 1 6 1 5 5 6 Consola Memoria pa1 pa2 pf1 pf2 local

17 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); p(pa2,pa1); writeln(pa1,pa2); end. … 5 1 6 7 5 6 6 Consola Memoria pa1 pa2 pf1 pf2 local

18 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); p(pa2,pa1); writeln(pa1,pa2); end. … 5 1 6 6 7 6 7 5 6 6 Consola Memoria pa1 pa2 pf1 pf2 local

19 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); p(pa2,pa1); writeln(pa1,pa2); end. … 5 1 6 6 7 6 7 5 Consola Memoria pa1 pa2

20 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); p(pa2,pa1); writeln(pa1,pa2); end. … 5 1 6 6 7 6 7 5 7 5 Consola Memoria pa1 pa2

21 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); p(pa2,pa1); writeln(pa1,pa2); p(-10,pa1); writeln(pa1,pa2); end. … 7 5 7 5 Consola Memoria pa1 pa2

22 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); p(pa2,pa1); writeln(pa1,pa2); p(-10,pa1); writeln(pa1,pa2); end. … 5 1 6 6 7 6 7 5 7 5 -10 Consola Memoria pa1 pa2 pf1 pf2 local

23 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); p(pa2,pa1); writeln(pa1,pa2); p(-10,pa1); writeln(pa1,pa2); end. … -10 7 -3 -9 -2 -3 -2 5 -9 -3 Consola Memoria pa1 pa2 pf1 pf2 local

24 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); p(pa2,pa1); writeln(pa1,pa2); p(-10,pa1); writeln(pa1,pa2); end. … -10 7 -3 -9 -2 -3 -2 5 -2 5 Consola Memoria pa1 pa2

25 Manejo de memoria program 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); end. pa1 pa2

26 Manejo de memoria program 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. pa1 pa2

27 Manejo de memoria 1 pa1 pa2 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.

28 Manejo de memoria 1 2 pa1 pa2 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.


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

Similar presentations


Ads by Google