Kontrollstrukturen Klasse 8
Jeder Algorithmus, egal wie kompliziert, lässt sich aus drei Grundbausteinen zusammensetzen.
Merke
| Kontrollstruktur | Idee | Alltag |
|---|---|---|
| Sequenz | Anweisungen nacheinander | Zähne putzen: Zahnpasta drauf, putzen, ausspülen |
| Verzweigung | wenn Bedingung, dann … sonst … | Wenn es regnet, nimm einen Schirm, sonst eine Sonnenbrille. |
| Wiederholung (Schleife) | Anweisungen mehrfach ausführen | Rühre 20-mal um. |
Sequenz
| Zahnpasta auf die Bürste |
| 2 Minuten putzen |
| Mund ausspülen |
Verzweigung
| Regnet es? ja nein | |
| Schirm mitnehmen | Sonnenbrille mitnehmen |
python
if regnet:
print("Schirm mitnehmen")
else:
print("Sonnenbrille mitnehmen")Wiederholung
| Schleifenart | Wann? | Beispiel |
|---|---|---|
| Zählschleife | Anzahl der Wiederholungen ist vorher bekannt | „Wiederhole 4-mal: gehe 100 Schritte, drehe dich um 90°.“ |
| kopfgesteuerte Schleife | Bedingung wird vor jedem Durchlauf geprüft; eventuell läuft sie nie | „Solange der Teller nicht leer ist: iss einen Bissen.“ |
| fußgesteuerte Schleife | Bedingung wird nach jedem Durchlauf geprüft; läuft mindestens einmal | „Würfle, bis du eine 6 hast.“ |
Zählschleife als Struktogramm
| wiederhole 4-mal | |
| gehe 100 Schritte | |
| drehe dich um 90° | |
python
for i in range(4): # Zählschleife
t.forward(100)
t.left(90)
while teller_voll: # kopfgesteuerte Schleife
bissen_essen()Kopf oder Fuß?
Python kennt keine eigene fußgesteuerte Schleife. Wie man sie nachbaut, steht im Python-Kurs unter do-while.
Aufgaben
- Finde zu jeder Kontrollstruktur zwei Beispiele aus deinem Alltag.
- Zeichne ein Struktogramm für: „Ein Roboter läuft geradeaus, bis er auf ein Hindernis trifft. Ist rechts frei, dreht er nach rechts, sonst nach links. Das macht er zehnmal.“
- Programmiere eine Ampelschaltung auf dem Calliope mini (→ Blockbasiert programmieren).