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
faecher:informatik:oberstufe:algorithmen:rekursion:rekursionsschachteln:start [13.01.2022 08:34] – [Fallunterscheidung ist unbedingt notwendig] sbelfaecher:informatik:oberstufe:algorithmen:rekursion:rekursionsschachteln:start [24.01.2024 11:37] (aktuell) – [Fallunterscheidung ist unbedingt notwendig] Marco Kuemmel
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? Erläutere, was das Problem ist - kannst du es lösen?+  * Teste den Code. Was beobachtest du? 
 +  * Skizziere eine Programmablaufdiagramm 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