![Page 1: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/1.jpg)
Programmieren mit dem Java-Hamster-Modell
VP Orientierung InformatikWS 2008/09
H.Hagenauer
![Page 2: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/2.jpg)
Helge Hagenauer, FB Computerwissenschaften
Idee
● didaktisches Modell zur Einführung in die Programmierung
● leichter und intuitiver Zugang („spielerisches“ lernen)
● mittels „Hamster-Programmen“ Grundlagen erlernen
● ... und schrittweise Steigerung der Komplexität
![Page 3: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/3.jpg)
Helge Hagenauer, FB Computerwissenschaften
Grundlegendes Modell
● virtuelle Hamster in einer virtuellen Landschaft steuern
● Hamster müssen bestimmte Aufgaben lösen
● einfache „Hamster-Sprache“ mit wenig Grundbefehlen, orientiert sich an Java
● siehe auch http://www.java-hamster-modell.de/
![Page 4: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/4.jpg)
Helge Hagenauer, FB Computerwissenschaften
Wichtige Elemente
virtuelle Landschaft
Hamster Mauer Körner
![Page 5: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/5.jpg)
Helge Hagenauer, FB Computerwissenschaften
Verwendung in dieser LV
● eigenhändige Installation des Hamster-Simulators
● Erstellung einer virtuellen Landschaft
● Lösung von einfachen Aufgaben mittels Hamster-Programmen
erste praktische Übungen an den Computern hier
dafür nötig: Benutzerberechtigung (siehe VP Einführung UNIX)
![Page 6: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/6.jpg)
Helge Hagenauer, FB Computerwissenschaften
Installation
● anmelden (einloggen) am Rechner mittels Benutzername und Passwort
● Terminal-Fenster starten → 2 Möglichkeiten
– Symbol Terminal-Applikation schon vorhanden
– unter Applications (oder Anwendungen) danach suchen
![Page 7: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/7.jpg)
Helge Hagenauer, FB Computerwissenschaften
Installation Forts.
● kopieren der Datei hamstersimulator-v25-02.zip
ins eigene Home-Verzeichnis mittels
cp /usr/local/sw/hamstersimulator/hamstersimulator-v24-01.zip .
● Kontrolle ob Datei vorhanden istls -l
● entpacken der Dateiunzip hamstersimulator-v25-02.zip
![Page 8: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/8.jpg)
Helge Hagenauer, FB Computerwissenschaften
Installation Forts.
● Kontrolle, ob Verzeichnis (Ordner, Directory) mit gleichem Namen eingerichtet wurde
ls -l
● wechseln ins neue Verzeichniscd hamstersimulator-v25-02
![Page 9: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/9.jpg)
Helge Hagenauer, FB Computerwissenschaften
Starten des Simulators
● Voraussetzung: das aktuelle Verzeichnis lautet
hamstersimulator-v25-02 sonst „change directory“ Befehl anwenden: cd hamstersimulator-v25-02
● Simulator und Editor startenjava -jar hamstersimulator.jar
Simulator- und Editorfenster werden geöffnet
![Page 10: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/10.jpg)
Helge Hagenauer, FB Computerwissenschaften
Simulator
● Erstellung und Bearbeitung virtueller Landschaften
● Hamster setzen
● Programmablauf verfolgen
![Page 11: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/11.jpg)
Helge Hagenauer, FB Computerwissenschaften
Virtuelle Landschaft erstellen
neues Territorium
Mauerkacheln setzen
Körner verteilen
Hamster platzieren
Territorium speichern
Landschaft = Territorium
![Page 12: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/12.jpg)
Helge Hagenauer, FB Computerwissenschaften
Editor
Hamster-Programme
– erstellen
– ändern
– speichern
– laden
![Page 13: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/13.jpg)
Helge Hagenauer, FB Computerwissenschaften
Grundbefehle für Hamster
vor(); springe 1 Feld nach vorne
linksUm(); Drehung um 90° nach links
nimm(); 1 Korn vom aktuellen Feld aufnehmen
gib(); 1 Korn auf aktuelles Feld ablegen
![Page 14: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/14.jpg)
Helge Hagenauer, FB Computerwissenschaften
Programm erstellen
Aufgabe: der Hamster soll auf dem Bsp.-Territorium 2 Körner aufnehmen
neues Programm erstellen
imperatives Programm wählen
Programm eingeben
Programm speichern
![Page 15: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/15.jpg)
Helge Hagenauer, FB Computerwissenschaften
Erstes Programm
void main() { vor(); vor(); nimm(); linksUm(); vor(); nimm();}
Programm starten
Programm kompilieren (übersetzen)
Programmname: ham1
![Page 16: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/16.jpg)
Helge Hagenauer, FB Computerwissenschaften
Ergebnis
Editor
Simulator
![Page 17: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/17.jpg)
Helge Hagenauer, FB Computerwissenschaften
Erweiterte Aufgabe
Aufgabe: der Hamster soll auf dem Bsp.-Territorium 3 Körner aufnehmen und dann 1 Korn am Feld gerade voraus ablegen (wenn möglich)
Benötigen:
neue Befehle (als Prozeduren/Methoden)
Bedingungen und Abfragen
![Page 18: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/18.jpg)
Helge Hagenauer, FB Computerwissenschaften
Neue Befehle
Neues Programm anlegen: ham2
void rechtsUm(){ linksUm(); linksUm(); linksUm();}
void main() { rechtsUm(); vor(); vor(); vor(); linksUm(); vor(); vor(); vor(); vor(); nimm(); nimm(); nimm();}
neu definierterBefehl für Drehung um 90°nach rechts
![Page 19: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/19.jpg)
Helge Hagenauer, FB Computerwissenschaften
Bedingungen
vornFrei() ist das Feld vor dem Hamster frei?
maulLeer() ist das Maul des Hamsters leer?
kornDa() ist ein Korn auf dem aktuellen Feld vorhanden?
Bedingungen ergeben immer wahr (true) oder falsch (false)
![Page 20: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/20.jpg)
Helge Hagenauer, FB Computerwissenschaften
Bedingungen & Abfragen
void rechtsUm(){.....}
void main() { rechtsUm(); vor(); vor(); vor(); linksUm(); vor(); vor(); vor(); vor(); nimm(); nimm(); nimm(); if (vornFrei()){ vor(); gib(); }}
Abfrage: wenn Feldvor dem Hamster frei ist, dann gehe vor und lege 1 Korn ab
Ergänzung von ham2nötig, um 1 Korn abzulegen!
![Page 21: Programmieren mit dem Java-Hamster-Modelluhl/hamster-info.pdf · java -jar hamstersimulator.jar Simulator- und Editorfenster werden geöffnet. Helge Hagenauer, FB Computerwissenschaften](https://reader030.vdokument.com/reader030/viewer/2022040204/5eac6b91ca221e1a974d6e6d/html5/thumbnails/21.jpg)
Helge Hagenauer, FB Computerwissenschaften
Wiederholungen (Schleifen)
Aufgabe: der Hamster soll sich so lange wie möglich nach vorne bewegen
Neues Programm anlegen: ham3
void main() { while(vornFrei()){ vor(); }}
Schleife: solange dasFeld vor dem Hamsterfrei ist, bewegt er sichum 1 Feld weiter