Lernpfad:Lerntheke Marsrover/21: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Karte|Hilfe=7,9,10}}
{{Karte|Hilfe=7,9,10}}


* Eigene Anfragen programmieren (ohne lögische Verknüpfungen)
Du kannst auch selber den Rover um eigene Anfragen erweitern. Dazu musst du eine ''Methode'' implementieren, die als ''Rückgabe'' einen ''Wahrheitswert'' zurückgibt.
 
Ein Beispiel könnte so aussehen:
<syntaxhighlight lang="java">
public boolean huegelVorneVorhanden() {
if( huegelVorhanden("vorne") ) {
return true;
} else {
rerurn false;
}
}
</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 XX.
{{Aufgabe:End}}
 
Du kannst auch bedingte Anweisungen ineinander verschachteln und so komplexere Anfragen programmieren.
 
<syntaxhighlight lang="java">
public boolean wasTesteIch() {
if( huegelVorhanden("rechts") ) {
if( huegelVorhanden("links") ) {
return true;
}
}
return false;
}
</syntaxhighlight>
{{Aufgabe:Start}}
Analysiere die oben gezeigte Anfrage und versuche  einen passenden Bezeichner für sie zu finden. Erkläre dazu, was die Anfrage überprüft.
{{Aufgabe:End}}
 
{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
# Implementiere die beiden Anfragen oben im Rover und probiere sie aus.
# Programmiere den Rover in der <code>act()</code>-Methode dann so, dass er bis zum nächsten Hügel geradeaus fährt und auf dem Weg alle Markierungen einsammelt, die zwischen zwei Hügeln liegen. Unten findest du eine Karte zum Testen.
# Implementiere eine Anfrage <code>public boolean gesteinUndMarkeVorhanden()</code>, die prüft, ob auf dem aktuellen Feld sowohl ein Gestein, als auch eine Marke vorhanden sind.
# Implementiere eine Anfrage <code>public boolean gesteinOderMarkeVorhanden()</code>, die prüft, ob auf dem aktuellen Feld entweder ein Gestein, ''oder'' eine Marke vorhanden sind (oder auch beides).
{{Aufgabe:End}}
{{Roverkarte|.\n.\n.\n.\n....HH.H..HH.HH}}
 


{{Inhalt/Lerntheke}}
{{Inhalt/Lerntheke}}

Version vom 30. September 2020, 23:18 Uhr

Anfragen

Du kannst auch selber den Rover um eigene Anfragen erweitern. Dazu musst du eine Methode implementieren, die als Rückgabe einen Wahrheitswert zurückgibt.

Ein Beispiel könnte so aussehen:

public boolean huegelVorneVorhanden() {
	if( huegelVorhanden("vorne") ) {
		return true;
	} else {
		rerurn false;
	}
}
Icon Heft.png
Arbeitsauftrag
  1. Analysiere den Quelltext oben und stelle Vermutungen über die Bedeutung der Schlüsselwörter boolean, if, else und return an. Notiere dir Stichpunkte im Heft.
  2. Vergleiche deine Vermutungen mit dem Text im Buch auf Seite XX.


Du kannst auch bedingte Anweisungen ineinander verschachteln und so komplexere Anfragen programmieren.

public boolean wasTesteIch() {
	if( huegelVorhanden("rechts") ) {
		if( huegelVorhanden("links") ) {
			return true;
		}
	}
	return false;
}
Icon Heft.png
Arbeitsauftrag

Analysiere die oben gezeigte Anfrage und versuche einen passenden Bezeichner für sie zu finden. Erkläre dazu, was die Anfrage überprüft.


Greenfoot Rover.png
Arbeitsauftrag
  1. Implementiere die beiden Anfragen oben im Rover und probiere sie aus.
  2. Programmiere den Rover in der act()-Methode dann so, dass er bis zum nächsten Hügel geradeaus fährt und auf dem Weg alle Markierungen einsammelt, die zwischen zwei Hügeln liegen. Unten findest du eine Karte zum Testen.
  3. Implementiere eine Anfrage public boolean gesteinUndMarkeVorhanden(), die prüft, ob auf dem aktuellen Feld sowohl ein Gestein, als auch eine Marke vorhanden sind.
  4. Implementiere eine Anfrage public boolean gesteinOderMarkeVorhanden(), die prüft, ob auf dem aktuellen Feld entweder ein Gestein, oder eine Marke vorhanden sind (oder auch beides).
Kartendaten:
".\n.\n.\n.\n....HH.H..HH.HH"