Achtung:

Dieses Wiki, das alte(!) Projektwiki (projektwiki.zum.de)
wird demnächst gelöscht.

Bitte sichere Deine Inhalte zeitnah,
wenn Du sie weiter verwenden möchtest.


Gerne kannst Du natürlich weiterarbeiten

im neuen Projektwiki (projekte.zum.de).

Rekursion: Unterschied zwischen den Versionen

Aus Projektwiki - ein Wiki mit Schülern für Schüler.
Wechseln zu: Navigation, Suche
K (hat „Rekursion“ nach „Informatik Q11/Rekursion“ verschoben: Unterseite)
Zeile 1: Zeile 1:
Bei einer [[Rekursion]] besitzt das Objekt einer Klasse eine Referenz auf sich selbst. Als [[rekursive Methode]] bezeichnet man eine Methode, welche sich selbst aufruft.
+
Bei einer [[Rekursion]] besitzt das Objekt einer Klasse eine Referenz auf sich selbst. Als [[Informatik_Q11/Rekursive_Methoden | rekursive Methode]] bezeichnet man eine Methode, welche sich selbst aufruft.
  
 
== Problemlösung ==
 
== Problemlösung ==

Version vom 6. November 2013, 12:39 Uhr

Bei einer Rekursion besitzt das Objekt einer Klasse eine Referenz auf sich selbst. Als rekursive Methode bezeichnet man eine Methode, welche sich selbst aufruft.

Inhaltsverzeichnis

Problemlösung

Bei der Rekursion wird das vorhandene Problem in mehrere kleine Probleme aufgeteilt. Diese werden gelöst und anschließend in einer Gesamtlösung vereint.

Beispiel Fakultät

Wir haben in einer Unterrichtsstunde das Beispiel Fakultät an einem Rollenspiel dargestellt. Fakultät 4! Vier Personen standen nebeneinander und stellten die schrittweise Problemlösung dar. Der ersten Person wurde die Aufgabe Fakultät 4 gestellt, was ihr jedoch zu schwer war. Deswegen fragte sie ihren Nachbarn. Auch diesem war die gestellte Aufgabe (Fakultät 3) zu schwer und so fragte auch er seinen Nachbarn. Diesem war die gestellte Aufgabe (Fakultät 2) ebenfalls zu schwer und stellte sie an den nächsten weiter. Dieser konnte seine Aufgabe (Fakultät 1) leicht lösen und gab seine Antwort an den Vordermann zurück. Der Folgende konnte nun seine Aufgabe lösen und die Lösung weitergeben. Auch der Nächste konnte die gestellte Aufgabe lösen und gab die Lösung wiederum weiter. Der erste konnte nun auch seine Aufgabe lösen und hatte das Endergebnis.

Beispiel am Quelltext

Im folgenden wird jeweils ein Beispiel eines rekursiven Objekts, sowie einer rekursiven Methode dargestellt.

Beispiel an einem Objekt

   class KNOTEN
   {
       private DATENELEMENT daten;
   
       private KNOTEN nachfolger;
   
       KNOTEN(DATENELEMENT d)
       {
           daten = d;
           nachfolger = null;
       }
   }

Die Rekursion wird dargestellt durch private KNOTEN nachfolger;.

Beispiel an einer Methode

   int RestlaengeGeben()
   {
       if(nachfolger == null)
       {
           return 1;
       }
       else
       {
           return nachfolger.RestlaengeGeben()+1;
       }
   }

Die Rekursion in der Methoden wird dargestellt durch den rekursiven Methodenaufruf return Nachfolger.RestlaengeGeben()+1;.