Download presentation
Presentation is loading. Please wait.
Published byMorgan Bryant Modified over 8 years ago
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.