lehrkraefte:snr:informatik:glf23:python:rekursion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf23:python:rekursion [2023/12/09 10:15]
Olaf Schnürer [gif-Datei aus Animation erstellen (zumindest unter Linux geht es so...)]
lehrkraefte:snr:informatik:glf23:python:rekursion [2023/12/10 22:49] (current)
Olaf Schnürer [Link zur Kursseite]
Line 17: Line 17:
  
 Alle Funktionen haben die aktuelle Streckenlänge als Parameter ''a''. Eventuell zusätzlich den Winkel als Parameter übergeben (bei ''baum0'' wird er nicht verwendet).  Alle Funktionen haben die aktuelle Streckenlänge als Parameter ''a''. Eventuell zusätzlich den Winkel als Parameter übergeben (bei ''baum0'' wird er nicht verwendet). 
 +
 +Beim Programmieren Hotkeys erläutern: Markieren per Shift+Pfeiltasten, Einrücken von markiertem Block per Tab oder "Ausrücken" per Shift+Tab.
 +
 +Einige S schreiben schnell selbst ''baum3'', ''baum4'' etc. und fragen dann, wie man die Turtle schneller zeichnen lassen kann, so dass man ''tracer(0)'' und ''update()'' erklären kann (siehe Programm ganz unten auf dieser Seite; ''hideturtle()'' ist dann wohl unnötig). 
 </hidden> </hidden>
  
Line 226: Line 230:
 ====== Baum-Programm aus Lektion ====== ====== Baum-Programm aus Lektion ======
  
 +<code python baum.py>
 +from turtle import *
 +
 +def baum0(a):
 +    forward(a)
 +    backward(a)
 +
 +def baum1(a):
 +    forward(a)
 +    left(winkel)
 +    baum0(a/2)
 +    right(winkel)
 +    baum0(a/2)
 +    right(winkel)
 +    baum0(a/2)
 +    left(winkel)
 +    backward(a)
 +
 +def baum2(a):
 +    forward(a)
 +    left(winkel)
 +    baum1(a/2)
 +    right(winkel)
 +    baum1(a/2)
 +    right(winkel)
 +    baum1(a/2)
 +    left(winkel)
 +    backward(a)
 +
 +
 +def baum(level, a):
 +    if level == 0:
 +        forward(a)
 +        backward(a)
 +    else:
 +        forward(a)
 +        left(winkel)
 +        baum(level - 1, a/2)     # Selbstaufruf der Funktion
 +                                 # rekursive Funktion
 +                                 # recurrere = zurücklaufen
 +        right(winkel)
 +        baum(level - 1, a/2)
 +        right(winkel)
 +        baum(level - 1, a/2)
 +        left(winkel)
 +        backward(a)
 +
 +stammlaenge = 250
 +winkel = 30
 +tracer(0)
 +# hideturtle()
 +left(90)
 +backward(stammlaenge)
 +# baum2(stammlaenge)
 +baum(8, stammlaenge)
 +update()
 +exitonclick()
 +</code>
 +
 +<!--
 <code python baum.py> <code python baum.py>
 from turtle import * from turtle import *
Line 294: Line 358:
 # also nach allen Zeichenbefehlen, die Zeile ''update()''. # also nach allen Zeichenbefehlen, die Zeile ''update()''.
 </code> </code>
 +-->
  
 ===== Link zur Kursseite ===== ===== Link zur Kursseite =====
  
-[[lehrkraefte:snr:informatik:glf22|Zur Kursseite]]+[[lehrkraefte:snr:informatik:glf23|Zur Kursseite]]
  
  
  • lehrkraefte/snr/informatik/glf23/python/rekursion.1702113324.txt.gz
  • Last modified: 2023/12/09 10:15
  • by Olaf Schnürer