Dieser Artikel ist derzeit in Bearbeitung von thi

Lernpfad:Rekursion in Java: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
In Java wird dieser Operator bzw. diese Funktion nicht zur Verfügung gestellt, deshalb muss sie programmiert werden.  
In Java wird dieser Operator bzw. diese Funktion nicht zur Verfügung gestellt, deshalb muss sie programmiert werden.  
Der Quelltext für die Methode sieht wie folgt aus:
Der Quelltext für die Methode sieht wie folgt aus:
<syntaxhighlight lang="javascript" line="1" >
<syntaxhighlight lang="java" line="1" >
public int fakultät (int n){
public int fakultät (int n){
   if (n > 1){
   if (n > 1){
Zeile 30: Zeile 30:
Aufgabe 1.1: Markieren Sie im Quelltext die einzelnen Bestandteile einer rekursiven Funktion.
Aufgabe 1.1: Markieren Sie im Quelltext die einzelnen Bestandteile einer rekursiven Funktion.


{{Aufgabe:End}}
{{Aufgabe:Start}}
Ergänzen Sie den Aufrufbaum zu dem Methodenaufruf z(5) .
<syntaxhighlight lang="java" line="1" >
public int z(x) {
  if (x > 1){
    return a + z(x - 2);
  }else{
    return 1;
  }
}
</syntaxhighlight>
{{Aufgabe:End}}
{{Aufgabe:End}}

Version vom 30. Dezember 2018, 23:39 Uhr

Icon Warning.png
Dieser Lernpfad ist derzeit noch im Aufbau.
style="margin-right:-24px;"
Inhalt Lernpfad
Rekursion in Java
  1. Rekursion in Java
  2. Definition
  3. Aufrufstapel
  4. Aufrufbaum
  5. Rekursion bei Schachproblemen
  6. Selbst eine rekursive Methode schreiben
Inhalt bearbeiten

Einführung Rekursion

In diesem Lernpfad lernst du die Grundlagen der rekursiven Programmierung kennen. Dieses Prinzip wird in vielen Anwendungen verwendet.

Definition: Eine rekursive Methode besteht aus

  1. einer Abbruchbedingung
  2. einer Reduktion des Problems
  3. mindestens einem Aufruf der rekursiven Methode

Beispiel Rekursion

Mit der folgenden Methode wird die Fakultät berechnet.
Die Fakultät ist ein mathematischer Operator und wird durch ein Ausrufezeichen dargestellt
4! = 4*3*2*1; (Das Ausrufezeichen steht dabei hinter der Zahl).
In Java wird dieser Operator bzw. diese Funktion nicht zur Verfügung gestellt, deshalb muss sie programmiert werden. Der Quelltext für die Methode sieht wie folgt aus:

public int fakultät (int n){
  if (n > 1){
    return n*fakultät (n-1);
  }else{
    return 1;
  }
}
Icon Heft.png
Arbeitsauftrag

Aufgabe 1.1: Markieren Sie im Quelltext die einzelnen Bestandteile einer rekursiven Funktion.


Icon Heft.png
Arbeitsauftrag

Ergänzen Sie den Aufrufbaum zu dem Methodenaufruf z(5) .

public int z(x) {
  if (x > 1){
    return a + z(x - 2);
  }else{
    return 1;
  }
}