Hamster Logo

Für alle die noch nie mit dem Hamster in Berührung gekommen sind.  Eine kurze Einführung. Nach dem Download des Hamstersimulators starten wir die Entwicklungsumgebung mit einem Doppelklick auf die .bat Datei. Nun sehen wir zwei Fenster. Einmal den Editor. Um Aufgaben und Lösungswege für den Hamster zu programmieren und dann die Testumgebung. Das Fenster mit dem Feld auf dem der Hamster zu sehen ist.

Wir klicken auf Datei -> Neu und auf “Imperatives Programm

Bei den imperativen Sprachen besteht ein Programm im wesentlichen aus einer Folge von Befehlen wie z.B. “Setze in die Variable a den Wert 3″, “Springe an die Stelle q im Programm”, “führe Unterprogramm P aus”

Was wir nun sehen ist folgender Code:

1
2
3
void main() {
 
}

Void main ?! … was soll das sein? Ganz einfach! Es ist der Einstiegspunkt für unser erstes Hamsterprogramm. Von hier aus werden Befehle und Funktionen gestartet, die unser Hamster ausführen soll. Die main() Funktion findet man in vielen Programmiersprachen solange es sich um Consolenapplikationen handelt. void bedeutet das die Funktion keinen Wert zurückgibt.

Angenommen wir haben folgende Funktion der eine Zahl übergeben wird. In der Funktion soll plus 10 addiert werden. Danach soll die Funktion das Ergebniss zurück geben. Dafür braucht man den Befehl return. Ich möchte also auch das Ergebniss wiederhaben. Hier die Funktion:

1
2
3
4
5
6
7
int addiereZehn(int zahl) {
	int meineZehn = 10;
	int ergebnis = 0;
 
	ergebniss = meineZehn + zahl;
	return ergebnis;
}

Die Funktion hat einen return-Wert von int. Das heißt ich kann nur Zahlen ohne Komma und Punkt addieren. Ganze Zahlen also. Für Zahlen mit Kommastellen verwendet man den Datentyp float oder double. Zurück zur Funktion. Ich deklariere zwei Variablen. meineZehn und ergebniss. meineZehn hat logischerweise den Wert 10. An Linie 5 addiere ich meineZehn plus der Zahl die ich meine Funktion übergeben habe und speicher das Ergebniss in der ergebnis Variable. Haben wir z.B. 5 übergeben. Sollte das Ergebnis nun 15 sein. Damit derjenige der die Funktion aufgerufen hat auch was von dem Ergebnis mitbekommt. Geben wir dieses mit dem Befehl return zurück.

Wie können wir unsere Funktion nun aufrufen? Ganz einfach :

1
2
3
4
5
6
void main() {
	int fuenf = 5;
	int ergebnis = 0;
 
	ergebnis = addiereZehn(fuenf);
}

Ich möchte 5 plus 10 addieren und rufe meine Funktion auf. Die Rechnet mir 5 plus 10 aus und gibt das Ergebnis an meine Variable ergebnis in der main() Funktion zurück.

Soviel zu Funktionen. So jetzt wollen wir den Hamster mal laufen lassen. Wir haben unser ergebnis von 15. Mit Hilfe einer for-Schleife soll der Hamster so lange vorwärts laufen bis entweder der Hamster 15 Schritte gelaufen ist oder er nicht mehr vorwärts laufen kann.

1
2
3
4
5
6
7
8
9
10
11
void main() {
	int fuenf = 5;
	int ergebnis = 0;
 
	ergebnis = addiereZehn(fuenf);
	for(int i = 0; i < ergebnis; i++ ) {
		if(vornFrei()) {
			vor();
		}
	}
}

Ab Linie 6 hat sich einiges getan. Ich habe eine for-Schleife programmiert. Auf Deutsch gesagt : Gib mir einen Zähler der so lange zählt bis er mein Ergebnis erreicht hat. Also 15. In der Schleife schaue ich ob der Hamster zunächst noch vorwärts laufen kann. Wenn ja, dann läuft er einen Schritt nach vorne. Wenn nicht bleibt er stehen.

Download

Links

http://www.thejaeck.net/2009/05/29/java-hamster-basiswissen/trackback/