faecher:informatik:oberstufe:algorithmen:rekursion:rekursionsschachteln:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:algorithmen:rekursion:rekursionsschachteln:start [13.01.2022 08:33] – [Fallunterscheidung ist unbedingt notwendig] sbelfaecher:informatik:oberstufe:algorithmen:rekursion:rekursionsschachteln:start [18.03.2022 15:25] – [Fallunterscheidung ist unbedingt notwendig] sbel
Zeile 24: Zeile 24:
 </WRAP> </WRAP>
  
-//Ein Wort Eleganz und Performanz:// Die rekursive Formulierung eines Algorithmus ist oft klarer als die iterative - sie bietet aber keine Performancevorteile -- oft sind iterative Formulierungen sogar schneller.  +//Ein Wort zu Eleganz und Performanz:// Die rekursive Formulierung eines Algorithmus ist oft klarer als die iterative - sie bietet aber keine Performancevorteile -- oft sind iterative Formulierungen sogar schneller.  
  
 <blockquote> <blockquote>
Zeile 45: Zeile 45:
 </code> </code>
  
-**(a)** Zunächst iterativ, z.B. mit einer for-Schleife, in Java: ''public void countdown_iterativ (int start)''. Teste den Code - funktioniert dein Countdown?+**(A)** Zunächst iterativ, z.B. mit einer for-Schleife, in Java: ''public void countdown_iterativ (int start)''. Teste den Code - funktioniert dein Countdown?
  
-**(b)** Dann rekursiv anhand des folgenden Pseudocodes:+**(B)** Dann rekursiv anhand des folgenden Pseudocodes:
  
 <code> <code>
Zeile 55: Zeile 55:
 </code> </code>
  
-Teste den Code. Was beobachtest du?+  * Teste den Code. Was beobachtest du? 
 +  * Skizziere eine Programmablaufdiargramm für die rekursive Methode.  
 +  * Erläutere, was das Problem ist.
  
 +<WRAP center round important 80%>
 +Jede rekursive Funktion benötigt eine Fallunterscheidung in zwei Fälle:
 +  * **Rekursionsfall**: Im Rekursionsfall ruft sich die Funktion selbst auf
 +  * **Basisfall**: Im Basisfall ruft sich die Funktion nicht selbst auf, die Rekursion wird mit einem ''return''-Statement beendet.
 +</WRAP>
  
 +**(C)** Passe deine rekursive Methode anhand des folgenden Pseudocodes mit einer Fallunterscheidung an:
 +
 +<code>
 +countdown_rekursiv(int i):
 +  wenn i<=0:
 +    return
 +  sonst: 
 +    print(i + " .... ")
 +    countdown_rekursiv(i-1)
 +</code>
 +
 +  * Teste deinen Code
 +  * Skizziere ein Programmablaufdiagramm für die rekursive Variante mit Fallunterscheidung.
  • faecher/informatik/oberstufe/algorithmen/rekursion/rekursionsschachteln/start.txt
  • Zuletzt geändert: 24.01.2024 11:37
  • von Marco Kuemmel