Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Zählschleifen
Im Unterschied zu fuß- und kopfgesteuerten Schleifen steht bei Zählschleifen die Anzahl der Durchläufe vor dem Schleifeneintritt fest. Dabei nimmt eine sogenannte Zählvariable während des Schleifendurchlaufs eine endliche Anzahl von fest definierten Werten an.
Allgemeine Formulierung
Verbale Kurzbeschreibung
Für Startwert bis Endwert mit Schrittweite führe aus:
- Anweisungen
Struktogramm
Python-Syntax
In Python kann man eine Zählschleife mit Hilfe der for
- und der range
-Anweisung umsetzen. Die range
-Anweisung erzeugt dabei die Werte, die die Zählvariable durchlaufen soll. Sie besitzt den folgenden Aufbau:
range(startwert, endwert, schrittweite)
startwert
und schrittweite
können weggelassen werden. Es wird dann angenommen, dass der Startwert den Wert 0 hat und die Schrittweite den Wert 1 hat. Fehlt nur ein Parameter, so wird
angenommen, dass die Schrittweite fehlt. range
erzeugt nun eine Folge von Werten, die mit dem Startwert beginnt. Der jeweils nächste Wert ergibt sich, indem man zu einem Wert die Schrittweite addiert. Das wird wird immer weiter fortgesetzt, solange ein Wert noch keiner ist als der Endwert.
Im Zusammenhang mit einer sogenannten for
-Schleife benutzt man range
nun wie folgt:
for i in range(startwert, endwert, schrittweite): ...Anweisungen...
Die Variable i nimmt nun bei jeden Schleifendurchlauf einen von range
erzeugten Wert an. Man kann nun i mit dem jeweiligen Wert in der Schleife benutzen oder man benutzt das Konstrukt einfach, um die Anzahl der Durchläufe festzulegen.
'range'' erzeugt eigentlich ein Objekt vom Datentyp Liste. Diesen Datentyp habe ich in einem extra Wikieintrag bechrieben.
Beispiel
Schreibe ein Programm, dass nach Eingabe einer Zahl bis zu dieser zählt.
Verbale Kurzbeschreibung
Für zahl = anfangswert bis zahl = endwert mit schrittweite wiederhole:
- Ausgabe: zahl
Struktogramm
Pythonprogramm
- beispiel_zaehlschleife.py
n = int(input("Zahl: ")) for i in range(1,n+1): print(i)
Vertiefung
Im Lehrbuch inf-Schule wird das Thema nochmal vertieft:
Aufgaben
Aufgabe 1
Gib jeweils an, welche Werte i annimmt!
a)
for i in range(1,2,9)
b)
for i in range(3,11)
c)
for i in range(5)
Aufgabe 2
Schreibe ein Programm, dass nach Eingabe einer Zahl alle Zahlen bis zu dieser Zahl ausgibt, die bei der Division durch 7 den Rest 4 lassen!
>> Zusammenfassung algorithmische Gundstrukturen
Hier können Fragen zum Inhalt der Seite gestellt werden.