Lernpfad:Lerntheke Marsrover/20

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Fallunterscheidungen I

Bei der Programmierung kommt es häufig vor, dass der weitere Ablauf des Programms von einer Entscheidung abhängt. Zum Beispiel:

Wenn vorne kein Hügel ist
dann fahre,
sonst drehe rechts

oder

Wenn gesteinVorhanden()
dann analysiereGestein()

Solche Verzweigungen oder Fallunterscheidungen kennst du auch schon von Programmablaufplänen:

PAP Verzweigung.svg

Der Rover kann schon einige Entscheidungen treffen. Sie sind in einer besonderen Art von Methoden implementiert: den Anfragen.

Greenfoot Rover.png
Arbeitsauftrag
  1. Lade eine Zufallswelt und platziere den Rover an verschiedenen Stellen. Probiere dann die Anfragen des Rovers aus und finde heraus, was sie überprüfen.


In Java werden Verzweigungen mit Bedingten Anweisungen umgesetzt:

if( gesteinVorhanden() ) {
  analysiereGestein();
}
Icon Heft.png
Arbeitsauftrag

Lade für die Aufgaben die unten gezeigte Karte.

  1. Implementiere in der act()-Methode einen Algorithmus, der den Rover bis zum nächsten Hügel vorwärts fahren lässt.
  2. Erweitere den Algorithmus so, dass der Rover auf dem Weg alle Gesteine analysiert.
  3. Erweitere das Programm so, dass auf allen Feldern ohne Gestein eine Marke abgelegt wird.
Kartendaten:
".\n.\n.\n.\n.\n...R...[.G].[.G][.G][.G][.G][.GH][.GH][.G][.G]H"