Schachtelung
Schachtelung von if/else-Statements
Da eine gewöhnliche Bedingung nur zwei Möglichkeiten bereithält, muss man an dieser Stelle mehrere Fallunterscheidungen schachteln
. Im Flussdiagramm erkennt man die Schachtelung durch die beiden Fallunterscheidungen. Auch hier machen wir erneuten Gebrauch von den (aus dem vorangegangenen Abschnitt Wiederverwendung) bekannten parametrisierten Methoden geradeausfahrt(dist)
und drehungX(li|re, grad)
, die zur besseren Übersicht im anschließenden Quellcode nicht mehr explizit definiert sind:
Mithilfe von zwei geschachtelten Fallunterscheidungen können wir drei Fälle unterscheiden: gelb
, blau
und weder noch
. Zur Vereinfachung wird die Farbe rot
vorerst dem letzteren Fall zugeordnet, was streng genommen nicht korrekt ist. Derzeit würde der Roboter auch z.B. bei einem grünen Marker oder einer fehlerhaften Messung geradeaus weiterfahren.
Das letzte else-Statement des obigen Programmauszugs ist unnötig, soll allerdings demonstrieren, dass man im Falle einer dritten Farbe eine differenzierte individuelle Anweisung platzieren könnte. Im Unterschied dazu wird die letzte Anweisung geradeausfahrt(dist);
unabhängig von der geschachtelten Bedingung fü alle möglichen Fälle ausgeführt. Nachfolgend findet man ausführbar das lauffähige, .
Quellen
- [1]: Geschachtelte Fallunterscheidungen im Flussdiagramm - Urheber: mks - Lizenz: inf-schule.de