Lernpfad:Rekursion in Java/Definition: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 27: Zeile 27:
{{Aufgabe:Start}}
{{Aufgabe:Start}}
Ordnen Sie den Quelltext-Teilen die einzelnen Bestandteile einer rekursiven Methode zu.<br />
Ordnen Sie den Quelltext-Teilen die einzelnen Bestandteile einer rekursiven Methode zu.<br />
public int fakultät (int n){
<zuordnung>
<zuordnung>
::public int fakultät (int n){
::  if (n < 2){::Abbruchbedingung
::  if (n < 2){::Abbruchbedingung
::    return 1;::Abbruch der Rekursion
::    return 1;::Abbruch der Rekursion
::    return n*fakultät (n-1);::rekursiver Aufruf::Reduktion des Problems
::    return n*fakultät (n-1);::rekursiver Aufruf::Reduktion des Problems
::}
</zuordnung>
</zuordnung>
{{Aufgabe:End}}
{{Aufgabe:End}}

Version vom 2. Januar 2019, 17:09 Uhr

Definition

Definition: Eine rekursive Methode besteht aus

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

Erstes Beispiel Rekursion: Fakultät

Mit der folgenden Methode wird die Fakultät berechnet.

Die Fakultät ist ein mathematischer Operator und wird in der Regel durch ein Ausrufezeichen dargestellt:

  • [math]\displaystyle{ 4! = 4\cdot 3\cdot 2\cdot 1 }[/math] (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 < 2){
    return 1;
  }else{
    return n*fakultät (n-1);
  }
}
Icon Heft.png
Arbeitsauftrag

Ordnen Sie den Quelltext-Teilen die einzelnen Bestandteile einer rekursiven Methode zu.

public int fakultät (int n){
if (n < 2){ Abbruchbedingung
return 1; Abbruch der Rekursion
return n*fakultät (n-1); rekursiver Aufruf Reduktion des Problems
}