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!