Zählschleife
In dieser Lektion beschäftigen wir uns mit der Zählschleife. Dabei programmieren wir wiederum auf den Pfaden von Vera Molnar, einer Pionierin der Computerkunst.
Das Ziel dieser Lektion ist die Programmierung dieser Grafik à la Molnar und zwar mit einem möglichst kurzen Quellcode:
range()-Funktion
In Python kann mit der Anweisung range(startwert,endwert) eine Liste mit Zahlenwerten angelegt werden. Dabei wird eine Liste erzeugt, die bei 0 beginnt und bis zur letzten Zahl vor endwert
reicht, also von 0 bis endwert-1
. Die im folgenden Beispiel mit range(0,10)
erzeugte Zahlenliste beginnt also mit 0 und geht bis 9, nämlich endwert - 1, d.h. 10 - 1 = 9.
Aufgabe 1
- Ändere das Programm so ab, dass das Programm eine Liste von 8 bis 19 erzeugt.
- Verändere die Anweisung im Online-Editor so, dass folgendes Ergebnis angezeigt wird:
[2011,2012,2013,2014,2015,2016,2017,2018,2019]
- Notiere dir beide Anweisungen digtal oder handschriftlich!
Zählschleife / for-Schleife
Computer sind besonders gut darin, die gleichen Anweisungen (also auch Turtle-Befehle) immer wieder zu wiederholen. Um ein Quadrat zu zeichnen, musst du also nicht viermal die Befehle forward(100) und left(90) eingeben. Es genügt auch, der Turtle zu sagen, sie soll diese zwei Anweisungen viermal wiederholen.
for i in range(0,5): turtle.forward(100) turtle.left(90)
Mit der for-Schleife sagst du der Turtle, sie soll einige Befehle eine bestimmte Anzahl Mal wiederholen. Das bestimmen wir mit der range()-Funktion. Damit der Computer weiss, dass diese Befehle zusammengehören (einen Programmblock bilden), müssen diese gleich weit eingerückt sein. Wir verwenden für Einrückungen grundsätzlich vier Leerschläge.
Allgemeine Syntax in Python
for Variable in Sequenz: Anweisung1 Anweisung2 ... Anweisungn
Erläuterung an einem Beispiel
for zahl in range(0,10): print(zahl)
In Python besteht die for-Schleife aus drei Elementen:
- Dem Schlüsselwort
for
, mit dem die Schleife eingeleitet wird, - einer
Variablen
(hier:zahl
), die der Reihe nach alle Werte der folgenden Liste annimmt, - einer Liste (hier:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
, darange(0,10)
), in der die Werte stehen, die die angegebene Variable der Reihe nach annimmt. Diese Liste kann mitrange(endwert)
angegeben werden. Nach der Angabe der Liste folgt ein Doppelpunkt als Zeichen dafür, dass hier der Inhalt der Schleife beginnt. In den folgenden Zeilen stehen die Anweisungen, die im Rahmen der Schleife ausgeführt werden sollen, wobei die Zeilen, die zur Schleife gehören, eingerückt sein müssen. Dabei nimmtzahl
der Reihe nach alle Werte in der Liste an, d.h. im obigen Beispiel nimmtzahl
im ersten Durchlauf den Wert 0 an, im zweiten Durchlauf den Wert 1, danach 3 und so weiter, biszahl
im letzten Durchlauf den letzten Wert der Liste annimmt, also 9.
Struktogramm
Aufgabe eines Struktogrammes ist es, den Ablauf eines Computerprogramms auf dem Papier darzustellen.
Aufgabe 2
- Zeichne das Struktogramm handschriftlich oder digital!
- Nutze auch gerne eine Programm zum Erstellen der Struktogramme: Struktogrammeditor
Erstelle zu folgendem Python-Programm ein Struktogramm:
for i in range(0,5): turtle.forward(100) turtle.left(90)
Aufgabe 3
- Wende die for-Schleife in den folgenden Aufgaben an!
- Erstelle für mindestens eine Teilaufgabe ein Struktogramm!
- Notiere dir den Quellcode für jede Teilaufgabe digtal oder handschriftlich!
- Nutze den Online-Editor (siehe unten)!
Hier geht es weiter...