In diesem Übungsblatt geht es um Rekursionen. Es ist gegliedert in drei (nicht aufeinander aufbauende) Aufgaben, die hier ihrem Schwierigkeitsgrad nach geordnet sind. Aufgabe 27 ist sehr stark an das Fibonacci-Beispiel (vgl. Übungen am 01.02.2006) angelehnt und soll nochmals das Prinzip der Rekursion verdeutlichen. Aufgabe 28 führt in die wechselseitig rekursiven Funktionen ein, und in Aufgabe 29 gilt es dann, sich die zur Problemlösung notwendige Rekursion selbst zu überlegen.
Lange Rede, kurzer Sinn -- die Bildungsvorschrift für die Meta-Fibonacci-Zahlen lautet wie folgt:
Schreiben Sie ein Java-Programm, das eine Unter- und eine Obergrenze einliest und für alle in diesem Intervall rekursiv berechnet und ausgibt.
Die sog. ``Male-Female-Folge'' von Hofstadter ist wie folgt definiert:
Schreiben Sie (mal wieder) ein Java-Programm, das genau wie in der Aufgabe zuvor eine Unter- und eine Obergrenze einliest und für alle dieses Intervall dann jeweils die Funktionswerte von und (rekursiv) berechnet und ausgibt.
Deshalb beschließen Sie, Ihre kleine Schwester mit einer abenteuerlichen Geschichte von der ungezügelten Vermehrung der Dackel von diesem Wunsch abzubringen und erzählen Ihr etwas vom Paarungsverhalten der Dackel:
Aus Sicht der Biologie ist das sicherlich hanebüchener Unfug, aber das merkt Ihre kleine Schwester noch nicht. Stattdessen möchte sie wissen, wieviele verschiedene Dackel (detailliert aufgelistet nach Sorte) sie wohl in Jahren zu füttern und auszuführen hätte und bittet Sie daher:
``Schreibe mir doch bitte ein Java-Programm, dem ich als Eingabe die Anzahl von Jahren () gebe, und das mir ausgibt, wieviele Tiere der jeweiligen Dackelsorte in Jahren leben werden -- davon ausgehend, daß ich einen (neugeborenen) Rauhhaardackel geschenkt bekomme und sich dieser so paaren kann und wird, wie Du mir es zuvor beschrieben hast.''
theseus$ java Dackel Fuer welche Anzahl von Jahren wollen wir das Dackelleben simulieren? 20 Nach 20 Jahren leben: 21 Rauhhaardackel, 6 Kurzhaardackel und 8 Langhaardackel.
Nach erfolgreicher Arbeit bekommen Sie von Ihrem Tutor entweder bis zu 9 Punkte, eventuell aber auch bis zu 9 Dackel (Verhandlungssache).
P.S.: Ihre kleine Schwester möchte jetzt doch lieber eine Katze haben!
Viel Erfolg!