Strukturierung – Wiederholte Vorgänge
Zielsetzung
In der Erkundung hast du ein konkretes, neues Problem gelöst. Jetzt geht es darum, die Details herauszuarbeiten, die dahinterstecken.
Strukturierung: Wiederholte Vorgänge
Hier hast du einen bestimmten Programmabschnitt so lange wiederholt, wie eine Bedingung erfüllt war. So eine Konstruktion nennt man Wiederholung oder while
-Schleife und sie ist wie die Fallunterscheidung enorm wichtig. Der Abschnitt, der sich immer wiederholt, wird Schleifenrumpf genannt.
Aufgabe 1: Aufbau einer Schleife beschreiben
Den Aufbau einer Schleife in Python kann man so beschreiben:
[Anweisungssequenz 1]
while [Bedingung]:
[Anweisungssequenz 2]
[Anweisungssequenz 3]
(a) Welche der drei Anweisungssequenzen ist der Schleifenrumpf?
(b) Erkläre, wann und wie oft die einzelnen Anweisungssequenzen ausgeführt werden.
Es hilft ggf., sich hier ein konkretes einfaches Programm vorzustellen. Also: Unter welchen Umständen und wann werden in diesem Programm die einzelnen Befehle ausgeführt? Beschreibe das erst konkret, also bezogen auf Kara und ein Blatt, und dann allgemein mit Begriffen wie „Bedingung“.
kara.move()
kara.move()
while kara.onLeaf():
kara.removeLeaf()
kara.move()
kara.putLeaf()
kara.turnRight()
Aufgabe 2: Flussdiagramme für Schleifen
Das folgende Flussdiagramm stellt den schematischen Aufbau einer Schleife dar.
(a) Ordne die drei Anweisungssequenzen im Flussdiagramm den drei Anweisungssequenzen aus Aufgabe 1 zu: Welches ist Anweisungssequenz 1, welches 2, welches 3?
(b) Erstelle zur Übung selbst ein Flussdiagramm zu einem Problem aus der Erkundung.
Aufgabe 3: Sonderfälle
Überlege dir: Wie oft wird ein Schleifenrumpf mindestens durchlaufen? Wie oft geschieht dies maximal? Diese Fragestellung wird in den Übungsaufgaben weiter vertieft.
Aufgabe 4: Ein Wissensspeicher für Wiederholungen
Halte das Gelernte in diesem Wissensspeicher fest.