Rekursionen

Status
Nicht offen für weitere Antworten.
F

Filip

Gast
Ich hocke nun schon seit mehrer Stunden an einer Java Hausaufgabe für die Uni und möchte wissen ob die Aufgabe überhaupt machbar ist. Btw ich studiere kein Informatik, sondern Wirtschaftsingenieurwesen.

Sie erben eine Bananenpflanze. Jede Bananenpflanze entwickelt binnen eines Jahres drei
Ableger, die Sie in eigenen Töpfe pflanzen. Zeichnen Sie den rekursiven Baum der entstandenen
Pflanzen, der sich nach 3 Jahren ergibt (vgl. Folie 5-22).

Schreiben Sie eine Klasse Banane, die rekursiv eine Methode ableger aufruft um die
Ausgabe „Ich bin ein Ableger“ für jede neu entstandene Bananenpflanze auf den Bildschirm
auszugeben, die sich nach dem übergebenen Zeitraum gebildet haben. Reichen Sie Ihre Lösung
handschriftlich oder als Quellcode-Ausdruck ein.


Ist das lösbar und ist ein Rechner durch die viele Aufrufe überfordert?
 
B

Beni

Gast
Ich denke, ein 4 Ghz-Prozessor mit 2 Giga RAM wird die, hm, 1+3+9+27 = 40 Aufrufe knapp bewältigen können, würde aber schon eine Woche Berechenzeit einplanen... (ok, Omas Backoffen würde das Programm noch in einer Millisekunde ausgeführt haben).

Hast du denn schon einen Ansatz? Was hast du bisher schon gemacht? Scheu dich nicht, auch was falsches zu posten! Der Code wird dir hier niemand einfach schenken...
 

André Uhres

Top Contributor
Programmierbeispiel
Das Beispiel zeigt eine beliebte und einfache Implementierung der Fakultätsberechnung
mittels Pseudocode.

n: die Zahl, deren Fakultät berechnet werden soll

fakultät_rekursiv(n)
1 wenn n <= 1
2 dann return 1
3 sonst return n * fakultät_rekursiv(n-1)
Die Rekursion kommt in Zeile 3 zum Ausdruck, wo die Funktion sich selbst
mit einem um 1 verringerten Argument aufruft.

Für ableger(n) brauchst du zwar keinen Rückgabewert, da für jeden Ableger eine Ausgabe
auf den Bildschirm erfolgt, aber vom Prinzip her ist da wenig Unterschied.

Viel Spass beim Knobeln :wink:
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben