Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pasaje de parmetros
Temas
Modularizacin - Comunicacin
CMO SE COMUNICAN LOS DATOS ENTRE MDULOS Y PROGRAMA?
VARIABLES GLOBALES
PARAMETROS
Modularizacin - Comunicacin
En teora cada mdulo lo podemos pensar como una caja negra con una funcin lgica bien definida (QU) que puede ser implementada internamente de muchos modos (CMO).
Qu hace el mdulo?
Cmo resuelve el problema el mdulo? Los parmetros ayudarn a conocer el qu hace
Modularizacin - Comunicacin
La comunicacin externa de un mdulo con el resto del sistema (puede no existir) es aconsejable que se produzca a travs de datos de entrada y datos de salida.
Modularizacin - Comunicacin
Tiene un Encabezado
Modularizacin - Comunicacin
Parmetros por valor
La comunicacin puede ser en Pascal
3
3 val
Proc. uno x =4 x= 3
Prog. valor val= 3
Qu imprime?
Proc. uno x =4 x= 3
Prog. valor x= 3
Dentro del mdulo se puede operar con el valor original contenido en esa direccin de memoria, y las modificaciones que se produzcan se reflejan en los dems mdulos que conocen la variable. En el encabezado del mdulo se distinguen por tener la palabra clave VAR.
4
4 3 val
Proc. uno x=
Prog. valor
Qu imprime?
val= 3 4
Var
x:integer; c: char; procedure j:char); ejemplo
Parmetros formales
(var
a:integer;
begin
Parmetros Ejemplos
Program uno;
Var
x:integer; c: char; procedure j:char); ejemplo (var a:integer;
begin
Se puede?
Parmetros Ejemplos
Program uno;
Var
x:integer; c: char; procedure j:char); ejemplo (var a:integer;
begin
Se puede?
Parmetros Ejemplos
Program ejemplo; Var a,b, : Integer ; Procedure saber2 a:integer ); begin b:= b + 10 ; a: = a + 10 ; write ( a, b ); end ;
(b: integer; Var
13 12
Qu imprime? A PENSAR
Parmetros Ejemplos
Program demo ; Var a,b, : Integer ; Function sum1 ( x : Integer ) : Integer ; begin x := x + 1; a := a+1 sum1 := x; sum1:= a end; begin {comienza el programa} a := 10; b := sum1 (a); writeln ( a, +1=,b ); end.
Qu imprime?
Parmetros Ejemplos
Program demo ; Var a,b, : Integer ; procedure sum1 ( var x : Integer ); begin a := a+1 x := x + 1; x:= a end; begin {comienza el programa} a := 10; sum1 (a); writeln ( a); end.
Qu imprime?
Parmetros Ejemplos
Program demo ; Var a,can : Integer ; procedure sum1 ( var x :integer; b: integer ); begin b:= b + 1; x := b * 2; end; begin {comienza el programa} can := 10; sum1 (a,can); writeln ( a); end.
Qu imprime?
Parmetros Ejemplos
Program demo ; Var a,b,c : Integer ; procedure sum1 ( var c:integer ); begin b:= b + 1; a := b * 2; c:= a+ b + c; write (a,b,c); end;
a :integer; b: integer; var
begin {comienza el programa} a:= 7; b:=3; c:=4; sum( b,a,c); write (a,b,c); end.
begin {del programa principal} a := 10; b:= 3; c:=5; uno (c,a,b); write (a,b,c); end.