TigerJython | xx für Gymnasien |
Wiederholte Ausführung einer Folge von Anweisungen (Iteration) gehört zu den Grundstrukturen jeder Programmiersprache. repeat ist die einfachste Wiedeholstruktur. Sie wurde im TigerJython für Programmiereinsteiger eingeführt, da sie einfach zum Verwenden ist und keine Variablen braucht. Im Standard-Python und praktisch allen höheren Programmiersprachen werden while- Schleifen verwendet, die etwas kompliziertere Syntax haben, sich aber für jede Art von Wiederholaufgaben eignen. |
Beispiel 1: Quadrat zeichnen Um ein Quadrat zu zeichnen, musst man nicht viermal die Befehle forward(100) und left(90) eingeben, es genügt der Turtle zu befehlen diese zwei Anweisungen viermal zu wiederholen. Mit der Anweisung repeat 4: werden die eingerückten Zeilen (Programmblock) vier mal wiederholt.
|
Erklärungen zum Programmcode:
repeat 4 : Das nachfolgende Programmblock wird 4 mal wiederholt. In einigen Programmiersprachen werden Programmblöcke mit Geschweiften Klammern markiert. In Python sind diese nicht notwendig. Die Programmblöcke werden mit Einrückung festgelegt. |
Beispiel 2: Mir repeat-Schleife Punkte zeichnen
|
Erklärungen zum Programmcode:
back(80) : Die Turtle bewegt sich 80 Schritte rückwärts |
Beispiel 3: Mit while-Schleife ein Quadrat zeichnen Eine while-Schleife wird mit dem Schlüsselwort while, einer Schleifenbedingung und einem Doppelpunkt eingeleitet. So lange die Bedingung erfüllt ist, werden die eingerückten Zeilen wiederholt. Um die Schleifenbedingung zu definieren und die Anzahlt Wiederholungen zu zählen braucht man hier eine Variable i. Im nachfolgenden Programm wird das gleiche Quadrat, wie im Beispiel 1 mit einer while-Schleife gezeichnet. Die Variable i hat zu Beginn den Wert i = 0 . Dieser wird bei jedem Schleifendurchlauf um 1 erhöht. Bei i = 4 wird der Programmblock nicht mehr ausgeführt. |
# Tu2b.py from gturtle import * makeTurtle() i = 0 while i < 4: forward(100) right(90) i = i + 1 |
Programmcode markieren
|
Erklärungen zum Programmcode:
Die Anweisung i = 0 wird auch als Startwert bezeichnet und muss vor der while-Schleife definiert werden | |
while i < 4 : Die Variable i nimmt die Werte 0, 1, 2 und 3 an. Die Schleife wird also 4 mal wiederholt. In der Schleifenbedingung werden üblicherweise die Vergleichsoperatoren >, >= , < , <= , == , != verwendet. Der Doppelpunkt darf nicht fehlen |
|
i = i + 1 Das Gleichheitszeichen hat in Computerprogrammen nicht dieselbe Bedeutung wie in der Mathematik. Es ist eine Zuweisung und nicht eine Gleichung. In Python kann man diese Werterhöhung auch mit i += 1 abkürzen |
Beispiel 4: Treppe bis zum Rand des Turtlefensters zeichnen
|
Erklärungen zum Programmcode:
while y < 300: So lange die Bedingung y < 300 stimmt, wird der eingerückte Programmblock wiederholt | |
y = y + 20 : y ist zu Beginn 0. Nach jeder gezeichneten Stufe wird y durch eine um 20 grössere Zahl ersetzt | |
hideTurtle() : versteckt die Turtle. Diese Zeile ist nicht mehr eingerückt, wird daher ausgeführt erst nach dem die Wiederholung abgeschlossen ist |
Beispiel 3: Die Turtle bewegt "endlos" auf einer Kreisbahn |
|
"Endlose" while-Schleife | "Endlose" repeat-Schleife |
|
|
Erklärungen zum Programmcode:
while True: Endlose while-Schleife repeat: Endlose repeat-Schleife |
|
speed(-1): Die Turtle zeichnet schneller |
Aufgaben: Serie 2 |
Verwenden eine repeat- oder while-Schleife um folgende Figuren zu zeichnen: |
1) |
2) |
3) |
4) |
|
5) |
Verwende eine while-Schleife, um die nebenstehende Figur zu zeichnen. Die Turtle dreht nach jedem gezeichneten Element um 12° nach links, so lange bis die gesamte Drehung 360° beträgt. |
6) |
Verwende eine repeat- oder while-Schleife, um eine Perlenkette zu zeichnen. Die Anzahl Perlen kannst du beliebig wählen. |
7) |
Die Turtle bewegt sich 100 Schritte vorwärts, zeichnet einen Punkt, bewegt sich 100 Schritte rückwärts und dreht 90° nach links. Diese Anweisungen wieder holt sie "endlos". |