PROGRAM VariableTypes; Var a: real;
PROCEDURE Proc1(b: real); Var c: real; Const d = 10.0; begin c := b+d; Writeln(c); end;
Function Proc2(Var e: real): real; Const f = 20.0; begin Proc2 := e+f; end;
Var g: real;
begin a := 10.0; Proc1(a); end.
begin x := 0; Write(x,' '); Show(x); Write(x); end.
O procedimento usa a técnica de Passagem por valor Passagem por referência e, por isso o resultado será
PROCEDURE Show; Var x: integer; begin x := 1; x := x*x; Write(x,' '); end;
begin x := 0; Show; Write(x); end.
Não é permitido usar o mesmo nome para uma variável duas vezes! 0 0 1 0 0 1 1 1