Lernpfad:Lerntheke Marsrover/4: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung
Zeile 44: Zeile 44:
{{Roverkarte|.\n.\n.\n...HHHHHHH\n...HR..MGH\n...HHHHHHH}}
{{Roverkarte|.\n.\n.\n...HHHHHHH\n...HR..MGH\n...HHHHHHH}}


Betätige nun einmal {{Button|Act}} und beobachte, was passiert.
Was vermutest du wird passieren? Betätige nun einmal {{Button|Act}} und beobachte den Rover.  


{{Aufgabe:Start|Icon=Greenfoot Logo.png}}
{{Aufgabe:Start|Icon=Greenfoot Logo.png}}

Version vom 30. August 2020, 19:29 Uhr

Das ist Java

Du hast den Rover schon "von Hand" durch die Mars-Welt gesteuert. Ziel soll es aber sein, den Rover automatisch arbeiten zu lassen. Dazu wird er mit der Programmiersprache Java programmiert.

Alle Objekte in der Mars-Welt sind mit Java Programmiert. Sogar Greenfoot selbst basiert auf Java. Du kannst dir den Quelltext des Rovers ansehen, indem du in Greenfoot doppelt auf das Rover-Rechteck am rechten Rand klickst.

Der gesammte Quelltext hat 229 Zeilen. Für uns wird zunächst aber nur ein winziger Teil davon Bedeutung haben. Sobald du den Quelltext öffnest, solltest du diesen Programmcode sehen:

    /**
     * Act-Methode des Rovers. Programmiere hier deinen Algorithmus und starte
     * ihn mit dem "Act"-Button in Greenfoot.
     */
    public void act() {

    }

Das ist die "Act-Methode". Du ahnst vielleicht schon, dass sie mit dem Act Button zu tun hat. Alles was zwischen den geschweiften Klammern steht ({ ... }) wird einmal ausgeführt, wenn du den Button in Greenfoot klickst.

In den meisten Stationen der Lerntheke wirst du dein Programm hier in der Act-Methode schreiben und durch einen Klick auf Act ausführen.

Dein erstes Programm

Bevor du die Programmiersprache Java genauer kennenlernst, schreiben wir erstmal ein erstes Rover-Programm.


Öffne dazun den Rover-Code und schreibe (oder kopiere) folgenden Quelltext hinein:

    /**
     * Act-Methode des Rovers. Programmiere hier deinen Algorithmus und starte
     * ihn mit dem "Act"-Button in Greenfoot.
     */
    public void act() {
        fahre();
        fahre();
        fahre();
        entferneMarke();
    }

Schließe den Quelltext wieder. Das Programm wird automatisch gespeichert und die Mars-Welt erscheint kurze Zeit grau. Nachdem sie wieder in Farbe ist lade diese Karte:

Kartendaten:
".\n.\n.\n...HHHHHHH\n...HR..MGH\n...HHHHHHH"

Was vermutest du wird passieren? Betätige nun einmal Act und beobachte den Rover.

Greenfoot Logo.png
Arbeitsauftrag
  1. Lade die Karte erneut und speichere die Welt ab, damit sie das nächste Mal sofort geladen wird.
  2. Programmiere den Rover so, dass er nicht die Marke entfernt, sondern das Gestein analysiert.


Syntax und Semantik

Bei der Programmierung unterscheidet man die Semantik und die Syntax einer Programmiersprache. Die Semantik ist die Bedeutung des Programms, die Syntax sind die Regeln, nach denen es aufgebaut ist. In dem Beispiel oben ist die Semantik ungefähr: "Der Rover fährt bis zur Marke und entfernt sie". Die Syntax sind die Zeichen, die du eingeben musst, um dieses Ziel umzusetzen.

Die Semantik hängt also immer von dem Ziel der Programmierung ab. Die Syntax ist dagegen fest vorgeschrieben, damit das Programm funktioniert. Sie muss gültig sein, ansonsten kann das Programm nicht ausgeführt werden.

Die Syntax von Java ist komplex, aber uns reichen zunächst einige wenige Regelungen:

  1. Ein Programm besteht aus einzelnen Befehlen, die untereinander geschreiben werden.
  2. Jeder Befehl muss mit einem Semikolon (;) abgeschlossen werden.
  3. Befehle (wie z.B. fahre()) enden immer mit runden Klammern. (Später wirst du auch noch Dinge in die Klammern hinenschreiben.)