Iteration und Rekursion

Neue Frage »

Auf diesen Beitrag antworten »
ninanina_s Iteration und Rekursion

schon wieder ein Problemchen...

Iteration, Rekursion und die Nassi-Schneidermann-Strukturprogramme haben ja alle gemeinsam, dass es Mittel zur Programmierung sind, oder?

Ist das richtig dass die Rekursion eine Funktion von einem Programm ist, die sich selber aufruft? Was hat das aber für einen Sinn? Gibt es da ein konkretes Beispiel?

Was unterscheidet die drei denn voneinander? Welches wählt man denn wofür?

DANKE
 
Auf diesen Beitrag antworten »
JROppenheimer

Iteration und Rekursion haben nicht wirklich was mit Nassi-Shneiderman-Diagrammen zu tun.

Nassi-Shneiderman-Diagramme sind eine Entwurfsmethode.

Rekursionen und Iterationen sind Arten von Algorithmen.

Iterationen sind grob gesehn "Schleifen". Sowas wie

iteration()
{
for (int i=1, 20, i++)
{
n = n+1
}
}
nur mal als Beispiel ...

Rekursionen sind Methoden, wie Du schon sagst, die sich selbst aufrufen. Als Beispiel nehmen wir mal die Fakultät (n!)

fakultaet(int n)
{
if (n==0||n==1)
{
return 1;
}
else
{
return n*fakultaet(n-1);
}
}
Die Methode ruft sich solange selbst auf, bis n klein genug ist (1 oder 0)

Versuch einfach mal ein Zahlenbeispiel. Spiel den Algorithmus mal durch mit n = 3 oder n = 4. Dann werden die Zahlen nicht so groß, aber DU wirst verstehen, was da passiert.

Ich glaube Rekursionen sind die erste wirkliche Hürde, die sind nicht SO trivial zu verstehen. Am besten Du spielst ein Paar verschiedene Beispiele mal mit Zahlen durch. Ein weiteres Beispiel ist die Fibonacci-Folge. Die ist auch rekursiv definiert.

Man kann sowohl die Fakultät als auch die FibonacciFolge iterativ und rekursiv programmieren.

Solltest DU mal nach googlen. Da finden sich ganz viele Beispiele in allen möglichen Sprachen.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »