Hallo,
ich schreibe morgen Algodat und lerne gerade das letzte Thema, die Rekursion, die ich überhaupt net in meinen Schädel bekomme.
Als Übungsaufgabe hatten wir folgende Aufgabe:
1 Algorithmus f(x, y)
2 Input: Zwei natürliche Zahlen x und y
3 Output: ?
4
5 if (x ≤ 0) then
6 return x + y
7 else
8 if (y ≤ 0) then
9 return x * y
10 else
11 return f(x/2, 2) + f(1, y-1)
Welchen Wert liefert ein Aufruf von f(4, 3)? In welcher Reihenfolge und mit welchen
Parametern wird f() dabei rekursiv aufgerufen? Geben Sie die Reihenfolge der Aufrufe
explizit an.
So, ich hab das Ding jetzt mal in Eclipse programmiert. Eclipse berechnet mir bei dieser Aufgabe für f(4,3) jetzt 10. Ich versteh aber nicht, wie das Programm auf dieser Ergebnis kommt.
Vor allem verstehe ich nicht, was hier return f(x/2, 2) + f(1, y-1) berechnet wird.
f(x/2, 2) + f(1, y-1)
f(4/2, 2) + f(1, 3-1) ergibt
f(2, 2) + f(1, 2)
OK, und weiter???
Wäre echt toll wenn mir jemand helfen könnte.
Ich verstehe vor allem nicht, was das mit dieser Rekursion auf sich hat.
Ist bei uns im Skript total doof erklärt...
:rtfm:
LG
Tobi
ich schreibe morgen Algodat und lerne gerade das letzte Thema, die Rekursion, die ich überhaupt net in meinen Schädel bekomme.
Als Übungsaufgabe hatten wir folgende Aufgabe:
1 Algorithmus f(x, y)
2 Input: Zwei natürliche Zahlen x und y
3 Output: ?
4
5 if (x ≤ 0) then
6 return x + y
7 else
8 if (y ≤ 0) then
9 return x * y
10 else
11 return f(x/2, 2) + f(1, y-1)
Welchen Wert liefert ein Aufruf von f(4, 3)? In welcher Reihenfolge und mit welchen
Parametern wird f() dabei rekursiv aufgerufen? Geben Sie die Reihenfolge der Aufrufe
explizit an.
So, ich hab das Ding jetzt mal in Eclipse programmiert. Eclipse berechnet mir bei dieser Aufgabe für f(4,3) jetzt 10. Ich versteh aber nicht, wie das Programm auf dieser Ergebnis kommt.
Vor allem verstehe ich nicht, was hier return f(x/2, 2) + f(1, y-1) berechnet wird.
f(x/2, 2) + f(1, y-1)
f(4/2, 2) + f(1, 3-1) ergibt
f(2, 2) + f(1, 2)
OK, und weiter???
Wäre echt toll wenn mir jemand helfen könnte.
Ich verstehe vor allem nicht, was das mit dieser Rekursion auf sich hat.
Ist bei uns im Skript total doof erklärt...
:rtfm:
LG
Tobi