Zurück zur Einstiegsseite

Sequenz

In der folgenden Übersicht ist eine Methode, die einen Roboter namens karol eine Reihe aus drei Ziegeln legen lässt, auf drei verschiedene Weisen dargestellt. Dabei steht links die Methode in der aus der 7. Klasse bekannten Form für das Werkzeug Karol, rechts ist die Umsetzung in Javasyntax für JavaKarol zu sehen, verfasst also in der Programmiersprache JAVA, die Sie mit diesem Material etwas näher kennenlernen sollen. In der Mitte ist eine programmiersprachenunabhängige Darstellung in graphischer Form, genannt Struktogramm, angegeben:

Anweisung dreierreihe()
  Hinlegen()
  Schritt()
  Hinlegen()
  Schritt()
  Hinlegen()
  Schritt()
*Anweisung
  public void dreierreihe() {
    karol.hinlegen();
    karol.schritt();
    karol.hinlegen();
    karol.schritt();
    karol.hinlegen();
    karol.schritt();
  }

Wenn Sie die Methode von Robot Karol (7. Jgst., linke Abbildung) und die Methode von JavaKarol vergleichen, fällt sofort auf, dass die Struktur beider Methoden identisch ist.

  • Der Methodenkopf Anweisung dreierreihe() wird einfach durch die Ihnen schon bekannte Deklaration eines Methodenkopfes in Java, nämlich public void dreierreihe() ersetzt.
  • Der Festlegung des Methodenrumpfes, also dem Teil der Methode, in dem die eigentlich Anweisungen stehen, erfolgt nicht mehr durch die den Methodenkopf und das Schlüsselwort *Anweisung, sondern durch geschweifte Klammern.
  • Robot Karol und JavaKarol kennen genau die gleichen Methoden, nämlich schritt(), linksDrehen(), rechtsDrehen(), hinlegen(), aufheben() usw. Um JavaKarol aber eine Botschaft zu schicken, muss im Gegensatz zu Robot Karol beim Aufruf der gewünschten Methode die vollständige Punktschreibweise unter Angabe des Objekts angegeben werden.
    Warum ist das so?
    Beim Erzeugen eines Objektes der Klasse ROBOTERSTEUERUNG werden zwei Objekte erzeugt, nämlich eines der Klasse WELT und eines der Klasse KAROL. Das System muss nun wissen, welches Objekt die gewünschte Methode ausführen soll. Dies erfordert dementsprechend die Angabe des Objektnamen. Deutlicher wird das noch, wenn man sich vorstellt, dass es mehrere Roboter in der Welt gibt bzw. wenn die Klassen WELT und KAROL Methoden mit gleichem Namen hätten.

Das eben Gesagte trifft auch auf die anderen Bausteine der Algorithmik, die Sie im Folgenden noch bearbeiten werden zu. Die algorithmische Denkweise, also das Denken in Abläufen, haben Sie bereits in der 7. Jgst. grundlegend gelernt. Letztendlich passiert im Folgenden nicht mehr, als dass Sie lernen, wie man die Bausteine in der Programmiersprache JAVA ausdrückt.

Arbeitsauftrag 1

Legen Sie die Methode dreierreihe() in der Klasse ROBOTERSTEUERUNG an und überprüfen Sie ihre Wirkung.

Hefteintrag

(verpflichtende Hefteinträge sind immer grün hinterlegt)


Algorithmik

Wichtige Begriffe:

Algorithmus: Ein Algorithmus ist ein Verfahren zur Lösung einer Klasse von Problemen, das aus endlich vielen Anweisungen besteht.
Beispiele: Kochrezept, Karol-Programm, Routenermittlung bei einem Routenplaner etc.

Struktogramm: Algorithmen werden in sogenannten Struktogrammen veranschaulicht. Mit Struktogrammen kann man Algorithmen unabhängig von einer bestimmten Programmiersprache ausdrücken.

Sequenz: Eine Folge von mehreren hintereinander auszuführenden Anweisungen bezeichnet man als Sequenz.
 

Arbeitsauftrag 2

Lesen Sie aufmerksam den unten angegebenen Bereich auf Ihrem Java Überblick zu diesem Thema und markieren Sie den Bereich.




Arbeitsauftrag 3

Schreiben Sie eine Methode zickZackReihe(), die das unten abgebildete Ergebnis liefert.

Tipp: Ein neues Objekt von der Klasse Robotersteuerung hat natürlich auch wieder eine „steinfreie“ Welt.

Lösung

Arbeitsauftrag 4

Was macht die nachfolgende Methode? Stellen Sie eine Vermutung an und überlegen Sie sich eine kurze Begründung.

  public void xxxxxxxxxxxx()
  {
    dreierreihe();
    dreierreihe();
  }

Überprüfen Sie Ihre Vermutung in BlueJ. Verwenden Sie einen treffenden Methodennamen.

Lösung

Man kann also Methoden wiederverwenden. Dies ist ein Programmierstil, der viel Arbeit spart und zu übersichtlicheren Programmen führt (gewöhnen Sie sich das an...!)

Arbeitsauftrag 5

Die Methoden umdrehen() und schrittZurueck() können oft wiederverwendet werden. Legen Sie die Methoden gemäß den folgenden Struktogrammen an:
  

Lösung

Zurück zur Einstiegsseite