Lernpfad:Lerntheke Marsrover/20: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 9: | Zeile 9: | ||
oder | oder | ||
<pre> | <pre> | ||
WENN gesteinVorhanden() | |||
DANN analysiereGestein() | |||
SONST setzeMarke() | |||
</pre> | </pre> | ||
| Zeile 31: | Zeile 32: | ||
if( gesteinVorhanden() ) { | if( gesteinVorhanden() ) { | ||
analysiereGestein(); | analysiereGestein(); | ||
} else { | |||
setzeMarke(); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Aufgabe:Start}} | |||
# Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter <code>boolean</code>, <code>if</code>, <code>else</code> und <code>return</code> an. Notiere dir Stichpunkte im Heft. | |||
# Vergleiche deine Vermutungen mit dem Text im Buch auf ''Seite 48''. | |||
{{Aufgabe:End}} | |||
{{Aufgabe:Start|Icon=Greenfoot Rover.png}} | {{Aufgabe:Start|Icon=Greenfoot Rover.png}} | ||
Lade für die Aufgaben die unten gezeigte Karte. | Lade für die Aufgaben die unten gezeigte Karte. | ||
Version vom 1. Oktober 2020, 10:44 Uhr
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() SONST setzeMarke()
Solche Verzweigungen oder Fallunterscheidungen kennst du auch schon von Programmablaufplänen:
Der Rover kann schon einige Entscheidungen treffen. Sie sind in einer besonderen Art von Methoden implementiert: den Anfragen.
- Lade eine Zufallswelt und platziere den Rover an verschiedenen Stellen. Probiere dann die Anfragen des Rovers aus und finde heraus, was sie überprüfen.
boolean huegelVorhanden( richtung )- Prüft, ob in der angegebenen Richtung ein Hügel vorhanden ist.boolean gesteinVorhanden()- Prüft, ob auf dem aktuellen Feld des Rovers ein Gestein vorhanden ist.boolean markeVorhanden()- Prüft, ob auf dem aktuellen Feld des Rovers eine Marke vorhanden ist.
In Java werden Verzweigungen mit Bedingten Anweisungen umgesetzt:
if( gesteinVorhanden() ) {
analysiereGestein();
} else {
setzeMarke();
}
- Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter
boolean,if,elseundreturnan. Notiere dir Stichpunkte im Heft. - Vergleiche deine Vermutungen mit dem Text im Buch auf Seite 48.
Lade für die Aufgaben die unten gezeigte Karte.
- Implementiere in der
act()-Methode einen Algorithmus, der den Rover bis zum nächsten Hügel vorwärts fahren lässt. - Erweitere den Algorithmus so, dass der Rover auf dem Weg alle Gesteine analysiert.
- Erweitere das Programm so, dass auf allen Feldern ohne Gestein eine Marke abgelegt wird.
".\n.\n.\n.\n.\n.R..[.G].[.G][.G][.G][.GH][.GH][.G][.G]H"
Das ist Greenfoot | Der Mars-Rover | Die Welt des Mars-Rover | Das ist Java | Die Rover-Arena | Greenfoot benutzen | Java Syntax | Variablen | Methoden | Bedingte Anweisungen | Schleifen | Objekte | Arrays | Die Fähigkeiten des Rovers | Steine analysieren I | Steine analysieren II | Strukturiertes programmieren | Programme strukturieren I | Programme strukturieren II | Fallunterscheidungen I | Anfragen | Fallunterscheidungen II | Variablen | Objektvariablen | Wiederholungen I | Wiederholungen II | Rover-Liebe | Steine analysieren III | Gefangen im Labyrinth I | Marken-Maler | Fleißige Rover | Gefangen im Labyrinth II | In der Rover-Arena | Parameter
