Torsten: Rechenaufgabe zum Verstaendnis (Vorsicht: Pascal!)

Beitrag lesen

Moin Forum,

ich habe da eine Aufgabe zum Loesen, wobei das Ergebnis im Grunde nebensaechlich ist... das Zustandekommen ist mir reichlich unklar:

Der Code:
----------------------------------------------------------------
program verwirrung;

uses crt;

var zahl: integer;

procedure addiereverdopple (var a,b: integer);

begin
a:= 1+a;
b:= 2*b;
end;

procedure verdoppleaddiere (var a,b: integer);

begin
a:= 2*b;
b:= 1+b;
end;

begin
clrscr;

zahl:= 7;
addiereverdopple (zahl,zahl);
writeln (zahl:5);
verdoppleaddiere (zahl,zahl);
writeln (zahl:5);

repeat until keypressed;

end.
----------------------------------------------------------------

Ergebnis:
    8
   17

Bei zahl:=1
    4
    9

Bei zahl:=2
    6
   13

bei zahl:=4
   10
   21

bei zahl:=5
   12
   25

usw.

Waere dankbar, wenn mir jemand dieses erlaeutern kann.
Gruss, Torsten.