Lernpfad:Lerntheke Marsrover/23: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 50: Zeile 50:


Du kannst die Karte unten benutzen.
Du kannst die Karte unten benutzen.
 
{{Aufgabe:End}}
Hinweis: Du kannst als Bedingung in einer Wiederholung oder Fallunterscheidung auch einen Vergleich benutzen. Zum Beispiel:
{{Kasten|
'''Hinweis:''' Du kannst als Bedingung in einer Wiederholung oder Fallunterscheidung auch einen Vergleich benutzen. Zum Beispiel:
<syntaxhighlight lang="Java">
<syntaxhighlight lang="Java">
int i = 5;
int i = 5;
Zeile 58: Zeile 59:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{Aufgabe:End}}
|Farbe={{Farbe:Info}}}}
 
{{Roverkarte|.\n.\n.\n.\n..R.....[.M][.M][.M][.M][.M]}}
{{Roverkarte|.\n.\n.\n.\n..R.....[.M][.M][.M][.M][.M]}}
{{Lösung:Start}}
{{Lösung:Start}}

Version vom 16. November 2020, 18:05 Uhr

Variablen
Icon Info.png
Du solltest am besten schon etwas über Wiederholungen und Fallunterscheidungen wissen, bevor du diese Karte bearbeitest.

Eine Variable ist ein Platzhalter für einen Wert. Auf diesen Wert kann mit dem Bezeichner der Variablen immer wieder zugegriffen werden. Der Wert kann auch verändert und wieder in der Variablen gespeichert werden.

Du kannst dir eine Variable wie eine Schublade vorstellen. Du kannst die Schublade öffnen und etwas hinein tun. Dann kannst du immer wieder in die Schublade hineinschauen, um dich an den Inhalt zu erinnern. Schließlich kannst du auch den Inhalt wieder aus der Schublade hinausnehmen und etwas neues hinein tun.

In Java musst du als erstes die Größe und Art der Schublade festlegen. Das nennt man die Deklaration. Das erste hineinlegen eines Wertes nennt man die Initialisierung, das hineinschauen einen Zugriff und das ändern des Inhalts eine Zuweisung.

So sieht ein Beispiel für eine Zahl-Variable aus:

int eineZahl = 5;
eineZahl = eineZahl + 8;
  • Zuerst steht der Datentyp (hier int), der festlegt, welche Art von Werten in der Variablen gespeichert werden können (die Größe der Schublade).
  • Dann folgt der Bezeichner (hier eineZahl), unter dem auf den Wert zugegriffen werden kann (die Aufschrift der Schublade).
  • Dann folgt hinter einem Gleichzeichen die Initialisierung (hier = 5) (etwas in die Schublade hineinlegen).
  • In Zeile 2 steht eine Zuweisung (der Bezeichner steht links vom Gleichzeichen) und ein Zugriff.
Greenfoot Rover.png
Arbeitsauftrag
  1. Lies im Buch auf Seite 219 nach, welche Datentypen es in Java gibt.
  2. Notiere im Heft Beispiele für Variablendeklarationen vom Typ double, int, char und boolean;


Greenfoot Rover.png
Arbeitsauftrag

Übernimm das folgende Programm in den Rover, lade die Karte unten und führe einmal die act-Methode aus. Was wird in der Variablen eineZahl gespeichert?

public void act() {
    int eineZahl = 0;
    
    while( !markeVorhanden() ) {
        fahre();
        if( gesteinVorhanden() ) {
            anaylsiereGestein();
            eineZahl = eineZahl + 1;
        }
    }
}
Kartendaten:
".\n.\n.\n.\n..R[.G][.G][.G][.G][.G][.G]M"
Lösung

In der Variablen eineZahl wird die Anzahl an analysierten Gesteinen gespeichert, die zwischen dem Rover und der näcshten Markierung liegen.


Greenfoot Rover.png
Arbeitsauftrag

Programmiere den Rover so, dass er bis zur nächsten Marke vorwärts fährt, diese einsammelt, dann umdreht und auf seine Ausgangsposition zurückkehrt. Der Rover soll dabei selber keine weitere Marke ablegen.

Du kannst die Karte unten benutzen.

Hinweis: Du kannst als Bedingung in einer Wiederholung oder Fallunterscheidung auch einen Vergleich benutzen. Zum Beispiel:

int i = 5;
while( i > 0 ) {
    i = i-1;
}
Kartendaten:
".\n.\n.\n.\n..R.....[.M][.M][.M][.M][.M]"
Lösung
public void act() {
    int anzahlFelder = 0;
    while( !markeVorhanden() ) {
        fahre();
        anzahlFelder += 1;
    }
    entferneMarke();
    drehe("rechts");
    drehe("rechts");
    while( anzahlFelder > 0 ) {
        fahre();
        anzahlFelder -= 1;
    }
}