i

Fachkonzept

Die Argo scannt ihre Umgebung

Die Argo kann ihre Umgebung mit Sensoren wahrnehmen.

rockFront Ist vor mir ein Asteroid?
rockLeft Ist links von mir ein Asteroid?
rockRight Ist rechts von mir ein Asteroid?
onPow Fliege ich über einem PowerUp?

Die folgende Tabelle zeigt die Operationen, die Argo zur Aktivierung der Sensoren ausführen kann.

Operation Bedeutung
rockFront() vor einem Asteroiden?
rockLeft() links ein Asteroid?
rockRight() rechts ein Asteroid?
onPow() auf einem PowerUp?

Elementare Bedingungen werden durch den Aufruf einer solchen Operation erstellt. Der Aufruf rockFront() führt dazu, dass getestet wird, ob die Argo vor einem Asteroiden steht.

Das Ergebnis eines solchen Tests ist einer der beiden Wahrheitswerte True oder False, mit dem angegeben wird, ob die Bedingung erfüllt ist oder nicht.

Fachkonzept – Bedingung

Die Steuerung komplexerer Abläufe (wie Fallunterscheidungen und Wiederholungen) erfolgt mit Hilfe von Bedingungen.

Die einfachsten Bedingungen, die mit Hilfe der Grundoperationen des Ausführsystems gebildet werden, nennt man auch elementare Bedingungen.

Aktionen wiederholt durchführen

Häufig kommt es vor, dass zur Steuerung der Argo Aktionen wiederholt ausgeführt werden müssen:

Sektor weiterfliegen
rechts drehen
SOLANGE kein Asteroid vor dir:
	Sektor weiterfliegen
links drehen
Sektor weiterfliegen
PowerUp legen

Im vorliegenden Beispiel wird die Aktionen Sektor weiterfliegen wiederholt ausgeführt.

Fachkonzept – Wiederholung

Eine Wiederholung dient dazu, wiederholte Abläufe zu beschreiben.

Wir betrachten hier Wiederholungen, die mit einer Eintrittsbedingung beschrieben werden.

Wiederholungen mit Eintrittsbedingung

Eine Wiederholung mit Eintrittsbedingung wird mit einer SOLANGE-Anweisung beschrieben, die aus einer Bedingung und einer (eventuell einelementigen) Anweisungssequenz besteht.

SOLANGE [Bedingung]:
    [Anweisungssequenz]

Das folgende Flussdiagramm zeigt, wie hier die Ausführung erfolgt.

Flussdiagramm

Bei der Ausführung einer SOLANGE-Anweisung wird vor jedem Wiederholungsdurchgang überprüft, ob die Bedingung erfüllt ist. Ist das der Fall, so werden die Anweisungen der Anweisungssequenz ausgeführt und der nächste Wiederholungsdurchgang kann beginnen. Andernfalls wird die Ausführung der Wiederholungsanweisung beendet. Das Flussdiagramm verdeutlicht sehr gut die Schleife, die wiederholt durchlaufen werden kann.

Ist die Bedingung gleich zu Beginn nicht erfüllt, so wird die Schleife überhaupt nicht durchlaufen. Die Wiederholungsanweisung bewirkt dann gar nichts.

Ist die Bedingung vor jedem Schleifendurchlauf erfüllt, so wird die Schleife (theoretisch) unendlich oft durchlaufen. Man spricht dann auch von einer Endlosschleife. In der Praxis muss man in einem solchen Fall die Ausführung abbrechen.

Implementierung in Python

In der Programmiersprache Python wird eine Wiederholung mit einer SOLANGE-Anweisung wie folgt dargestellt:

while [Bedingung]:
    [Anweisungssequenz]

Eingeleitet wird sie mit dem Schlüsselwort while. Wichtig ist der Doppelpunkt nach der Bedingung. Die zu wiederholenden Anweisungen müssen dann um eine feste Anzahl von Leerzeichen (in der Regel sind es 2 oder 4 Einheiten) eingerückt werden. Das könnte beispielsweise so aussehen:

move()
turnRight()
while not rockFront():
	move()
turnLeft()
move()
putPow()

Suche

v
6.1.2.1.3
dev.inf-schule.de/imperative-programmierung/spacebug/schleifen/lernstrecke/fachkonzept
dev.inf-schule.de/6.1.2.1.3
dev.inf-schule.de/@/page/aW0XwtFO0BE3fQ5l

Rückmeldung geben