05.11.2013 Aufrufe

Iterative und Rekursive Algorithmen Iteration und Rekursion sind im ...

Iterative und Rekursive Algorithmen Iteration und Rekursion sind im ...

Iterative und Rekursive Algorithmen Iteration und Rekursion sind im ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

© J. Rau Januar 2013<br />

Die Wiederholung des Algorithmus ab Schritt 2 in der <strong>Iteration</strong> wird durch <strong>Rekursion</strong> ersetzt.<br />

rekursiver Algorithmus rekggT (int m,int n):<br />

Schritt 1: if ( m == n) {liefere m als Ergebnis, sonst gehe zu Schritt 2};<br />

Schritt 2: if ( m > n) {liefere das Ergebnis von rggT ( (m-n), n) als Ergebnis ab} else {gehe zu Schritt 3};<br />

Schritt 3:<br />

if ( m < n) {liefere das Ergebnis von rggT ( m, (n-m) ) als Resultat ab};<br />

ggT mit BlueJ (iterativ)<br />

public void itggT (int m, int n) {<br />

int x = m;<br />

int y = n;<br />

int z;<br />

while (x!= y) {<br />

z = x;<br />

if (x > y) { x = x - y; }<br />

else { y = y - x; }; };<br />

System.out.println (“Der ggT ist: ”+z); }<br />

ggT mit BlueJ (rekursiv)<br />

public int rekggT (int m, int n) {<br />

}<br />

if (m == n) { return m; }<br />

if (m > n) { return rekggT (m-n, n); }<br />

else { return rekggT(m, n-m); }<br />

public void ausgabeggT (int m, int n) {<br />

int z = rekggT (m,n);<br />

System.out.println (“Der ggT ist: ”+z); }<br />

Fibonacci-Folge <strong>und</strong> weitere Beispiele Fakultät, Quersumme<br />

1) Hinter den Ziffernfolgen 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377... verbirgt sich ein<br />

interessantes rekursives Bildungsgesetz: die Folge von Fibonacci. <br />

( n 1) Fib( n 2) für n > 2<br />

Fib( n)<br />

<br />

1 für 0

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!