Lernpfad:Lerntheke Marsrover/25: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 74: Zeile 74:
{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
Der Rover steht neben einem Rechteck aus Hügeln und soll einmal um den gesammten Hügel fahren. Dazu legt er zunächst eine Marke ab und fährt dann solange, bis er die Marke wieder erreicht hat.
Der Rover steht neben einem Rechteck aus Hügeln und soll einmal um den gesammten Hügel fahren. Dazu legt er zunächst eine Marke ab und fährt dann solange, bis er die Marke wieder erreicht hat.
Implementiere einen Algorithmus, der den Rover für beliebig große Rechtechte eine Runde fahren lässt.


[[Datei:Rover Karte25 Rechteck.jpg|center]]
[[Datei:Rover Karte25 Rechteck.jpg|center]]
{{Aufgabe:End}}
{{Aufgabe:End}}
{{Lösung:Start|Lösungshinweis}}
Der Rover muss viermal eine Seite des Rechtechs abfahren. Dazu muss er jeweils solange fahren, wie rechts von ihm noch ein Hügel ist.
Wiederholungen können auch innerhalb von Wiederholungen vorkommen!
{{Lösung:End}}
{{Lösung:Start}}
{{Lösung:Start}}
# <syntaxhighlight lang="Java">
<syntaxhighlight lang="Java">
public void act() {
public void act() {
while( !gesteinVorhanden() ) {
setzeMarke();
fahre();
while( !markeVorhanden() ) {
}
while( huegelVorhanden("rechts") ) {
analysiereGestein();
fahre();
}
}
</syntaxhighlight>
        drehe("rechts");
# <syntaxhighlight lang="Java">
        fahre();
public void act() {
    }
while( !huegelVorhanden("vorne") ) {
fahre();
}
}
}
</syntaxhighlight>
</syntaxhighlight>
8.581

Bearbeitungen