Einzelnen Beitrag anzeigen

Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

Re: warum 30 und nicht 35?!?

  Alt 24. Apr 2005, 23:08
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;
  Mit Zitat antworten Zitat