Deutsch English |
DU LERNST HIER... |
wie du Wiederholstrukturen mit den Schlüsselwörtern while und for verwendest. Die while-Schleife ist eine der wichtigsten Programmstrukturen überhaupt. Sie kann allgemein für jede Art von Wiederholungen verwendet werden und kommt in praktisch allen Programmiersprachen vor. Mit repeat konntest du bisher einfache Wiederholungen programmieren, ohne Variablen zu verwenden. Da du jetzt den Variablenbegriff kennst, kannst du jetzt auch die while- und for-Struktur verwenden. |
MUSTERBEISPIELE ZUR WHILE-SCHLEIFE |
Eine while-Schleife wird mit dem Schlüsselwort while eingeleitet, gefolgt von einer Bedingung und einem Doppelpunkt. So lange die Bedingung erfüllt ist, werden die Befehle im nachfolgenden Programmblock wiederholt. In der Bedingung werden in der Regel die Vergleichsoperatoren >, >=, <, <=, ==, != verwendet. Die Anweisungen im while-Block müssen eingerückt sein. Die Wiederholstruktur kann umgangssprachlich so formuliert werden: "Solange die folgende Bedingung erfüllt ist, führe den nachfolgenden Programmblock aus.."
Programm: from gturtle import * a = 5 while a < 200: forward(a) right(90) a = a + 2 |
Programm: from gturtle import * while True: forward(3) right(3) |
MERKE DIR... |
Die Bedingung a < 200 nennt man auch Laufbedingung. Mit while True wird eine endlose Schleife eingeleitet, bei der die Befehle im Schleifenblock solange wiederholt werden, bis Stop gedrückt wird. |
ZUM SELBST LÖSEN |
1. |
|
||||
2. |
|
MUSTERBEISPIELE ZUR FOR-SCHLEIFE |
Bei der for-Schleife wird der Schleifenzähler automatisch verändert.
Programm: from gturtle import * hideTurtle() for s in range(100): forward(s) right(70) Die nächste Figur kannst du auch mit zwei repeat-Schleifen zeichnen. Da du in der inneren Schleife i auch für die Berechnung der Strichlänge brauchst, ist die for-Schleife vorteilhafter. Achte auf die korrekte Einrückung!
Die allgemeine Form einer for-Schleife hat 3 Parameter :
|
MERKE DIR... |
Mit for i in range(n): werden die Zahlen 0, 1, 2,..(n-1) durchgelaufen. Der Parameter n in range(n) gibt die Anzahl der Wiederholungen an. Eine for-Schleife kann auch 2 oder 3 Parameter haben. |
ZUM SELBST LÖSEN |
3. |
|
4. | Die Turtle bewegt sich jeweils vorwärts zeichnet einen gefüllten Kreis (dot), dann rückwärts zum Ausgangspunkt und dreht um 10° nach rechts. Bei jeder Wiederholing zeichnet sie eine längere Strecke. Löse die Aufgabe mit einer for-Schleife und verwende für die Streckenlänge ein Vielfaches des Schleifenzählers i. |
5. | Erzeuge die nebenstehende Figur mit einer for-Schleife. Die Turtle beginnt mit der Streckenlänge s vorwärts und dreht dann um 89° nach rechts. Es soll von 0 bis 150 laufen. |
ZUSATZSTOFF: INEINANDER GESCHACHTELTE FOR-SCHLEIFEN |
Programm: from gturtle import * for x in range(-200, 201, 20): for y in range(-200, 201, 20): if x + y < 0: setPenColor("red") else: setPenColor("green") setPos(x, y) dot(10)
Programm: from gturtle import * def cell(x, y): setPos(x, y) startPath() repeat 4: forward(30) left(90) fillPath() setFillColor("blue") hideTurtle() for i in range(8): for k in range(8): if (i + k) % 2 == 0: cell(30 * i, 30 * k) |