Sowas nennt sich Rekursion.
[Edit]
Damit ist gemeint, daß eine Funktion sich selbst immer wieder mit veränderten Parametern aufruft, um so schlußendlich zu einem Ergebnis zu kommen. In deinem Fall nimmt halt die Zahl immer ab, bis sie 1 ist. Addiert wird dann immer das Ergebnis des nächsten Funtkionsaufrufes. Da dort aber wieder die Funktion aufgerufen wird, wird erst dieser Aufruf verarbeitet und das Ergebnis addiert, usw....
[/Edit]
Was du meinst, könntest du so lösen:
Delphi-Quellcode:
function lies_zahl(z:integer):integer;
var i : Integer;
begin
Result := 1;
for i := z DownTo 2 Do
Result := Result + (z-1) + z*z;
end;
PS: Benutz das nächste mal die [delphi]-Tags für den Quelltext! Sieht einfach besser aus!
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;