Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Ich verstehe die Rekursion noch nicht richtig

  Alt 16. Jan 2004, 13:29
Hi zusammen!

Ich habe am Dienstag eine Klausur und verstehe die Rekursion noch nicht so richtig.


Ich habe mit eine kleine Aufgabe ausgedacht und möchte folgendes berechnen:

1² + 2² + 3² + ... + n²

Iterativ habe ich das so gelöst:

Delphi-Quellcode:
function TForm1.Iterativ(n: integer): integer;
var i: integer;
begin
  Result := 0;

  for i := 1 to n do
    Result := Result + sqr(i);
end;

Nach ewigem Rumprobieren habe ich's rekursiv auch hinbekommen:

Delphi-Quellcode:
function TForm1.Rekursiv(n: integer): integer;
begin
  if n > 0 then
  begin
    Summe := Summe + sqr(n);
    Rekursiv(n-1);
  end;
  Result := SUmme;
end;
Die Variable "Summe" habe ich global deklariert, da ich nicht wusste, wie ich das nur lokal mache, bzw. ob das nur lokal überhaupt geht.



Mir fällt das noch recht schwer, die Rekursion.

Kann mir jemand Tipps geben, wie ich, gerade bei Aufgaben dieser Art, rekursiv vorgehen muss?
Ich wäre euch sehr dankbar!
  Mit Zitat antworten Zitat