Implementiere eine rekursive Methode potenz(a,n)
, die bei Eingabe einer
Dezimalzahl a
und einer natürlichen Zahl n
als Ergebnis die Potenz a
n
zurückgibt.
Beispiel: Der Aufruf potenz(2.5,3)
gibt den Wert 15,625 zurück.
Hinweis 3: Methodengerüst mit Basisfall
Implementiere eine rekursive Methode guthaben(g,z,a)
, die bei Eingabe
eines Guthabens g
in Euro, eines Zinssatzes z
in Prozent und einer Laufzeit a
in
Jahren als Ergebnis das verzinste Guthaben nach Ende der Laufzeit zurückgibt.
Beispiel: Der Aufruf guthaben(1000,1,2)
gibt den Betrag 1020,10 (€) zurück.
Implementiere eine rekursive Methode fibonacci(n)
, die bei Eingabe einer
natürlichen Zahl n
als Ergebnis die n
-te Fibonacci-Zahl zurückgibt. Die erste und
zweite Fibonacci-Zahl ist jeweils 1. Die weiteren Fibonacci-Zahlen berechnen sich als
Summe der beiden Vorgängerzahlen. Die ersten zehn Fibonacci-Zahlen lauten: 1, 1,
2, 3, 5, 8, 13, 21, 34, 55
.
Beispiel: Der Aufruf fibonacci(11)
gibt die Zahl 89 zurück.
Palindrome sind Wörter wie OTTO oder RELIEFPFEILER, die vorwärts wie rückwärts
gelesen gleich sind. Implementiere eine rekursive Methode palindrom(text,l,r)
, die bei Eingabe eines Strings text
sowie einer linken Feldgrenze l
und einer
rechten Feldgrenze r
überprüft, ob text[l..r]
ein Palindrom ist. Das Ergebnis der Methode soll ein Wahrheitswert sein.
palindrom("OTTO", 0, 3)
gibt true
zurück.palindrom("ORTO",0,3)
gibt false
zurück.
Einen String kann man sich in Java als Array von Char-Werten vorstellen. Auf einzelne Buchstaben kann man mit der Methode charAt()
des String-Objekts zugreifen. Wie bei allen Arrays beginnt die Zählung bei 0.
Die Länge des Strings kann man mit word.length()
ermitteln.
Überlege dir zunächst, wann der Basisfall eintritt: Für welche Worte kannst du sofort ohne nachdenken sagen, dass Sie ein Palindrom sind? Wie hängt diese Eigenschaft mit den Parametern start
und ende
zusammen?
Anders als bei den bisherigen Beispielen muss sich die Methode nicht unbedingt wieder selbst aufrufen, sondern nur dann, wenn das Wort nach dem bisherigen Kenntnisstand ein Palindrom sein könnte. Welche Bedingung muss erfüllt sein, damit es sich lohnt, das Wort weiter zu untersuchen?