{Hier soll der Unterschied zwischen "Call by Value" und "Call by Reference"
 verdeutlicht werden. Was ist was ?}

program variablenaufruf;

uses crt;

Var a,b : integer;

procedure procedure1(a,b:integer);
begin
	a:=a+1;
	b:=2*b;
end;

procedure procedure2(var a,b:integer);
begin
	a:=a+1;
	b:=2*b;
end;

procedure procedure3(var a:integer; b:integer);
begin
	a:=a+1;
	b:=2*b;
end;
begin
	a:=10;
	b:=20;
	writeln('a=',a,'b=',b);
	procedure1(a,b);
	writeln('a=',a,'b=',b);
	procedure2(a,b);
	writeln('a=',a,'b=',b);
	procedure3(a,b);
	writeln('a=',a,'b=',b);
end.
