Impressum | Kontakt
 Startseite | Kurse Projekte | Haskell | Fortbildungen | Linux | Suche

Rekursion mit Java

Aufgabe: Es soll n-mal der Begriff "Informatik" in der Konsole mittels Rekursion ausgegeben werden. 

Pseudo-Code:

wenn bereits n-mal ausgegeben
   dann nichts mehr tun
   sonst:  Informatik ausgeben
           und sich noch n-1 mal aufrufen

Java-Code:

 public static void ausgabe(String s, int n) {
     if (n==0) return;         // Abbruchbedingung
     System.out.println(s);
     ausgabe(s,n-1);           // rekursiver Aufruf
 }

Zum Ausprobieren muss diese Funktion aufgerufen werden.In einem Konsolenprogramm wird hierfür noch ein "Gerippe" benötigt.

public class Rekursion1 {
    // hier muss die Funktion ausgabe eingefügt werden
    public static void main(String[] args)
    {
         ausgabe("Informatik",5);     // Aufruf der rekursiven Funktion
    }
}

Summenberechnung rekursiv

Es soll die Summe der ersten n natürlichen Zahlen rekursiv berechnet werden.

Pseudocode:

 Wenn n=0, dann  liefere den wert 0
           sonst liefere den Wert summe(n-1) + n

Java-Code:

 public static int summe(int n)
 {
     if (n==0) return 0;
     else return summe(n-1)+n;
 }

Aufgaben

Schreibe zwei weitere rekursive Funktionen zu folgenden Problemen:

  1. Die Funktion "fakultaet" berechnet das Produkt der ersten n natürlichen Zahlen und gibt das Ergebnis in der Konsole aus.
    Hinweis: Die Funktion liefert sinnvollerweise eine Zahl vom Typ int bzw. long.

  2. Die Funktion "fibo" bestimmt die n-te Fibbonaccizahl. Diese ist so definiert:
    fibo(1) = 1
    fibo(2) = 1
    fibo n) = fibo(n-1)+fibo(n-2)