Der Hamstersimulator



Ähnliche Dokumente
Um dies zu vermeiden, werden nun drei so genannte Testbefehle eingeführt:

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.

Installation. Start. Das Territorium im Simulator

Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

JAVA-Datentypen und deren Wertebereich

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

PHP 5.6. Grundlagen zur Erstellung dynamischer Webseiten. Stephan Heller. 1. Ausgabe, März 2015 ISBN: GPHP56

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011

Das Java-Hamster-Modell

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

2 Karol lernt einfache Tätigkeiten

Plus im Zahlenraum bis 10

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Java I Vorlesung 1 Einführung in Java

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Aufgabe Total Punkte

Visuelle Programmierung mit dem Hamstersimulator

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

1 Erster Schritt. Lernziele. Programme in das Startmenü aufnehmen. Programme suchen und starten

Kurze Begründung, warum der Ausdruck korrekt ist oder jeweils zwei Gegenbeispiele, die zeigen, warum der Ausdruck nicht korrekt ist

Programmierkurs Java

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

Girls Day 2017 Programmierung

4 Schleifen -= Entstanden unter Excel 2003 =-

Greenfoot: Verzweigungen

Objektorientierte Programmierung OOP Programmieren mit Java

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Visual Basic Hamster

Programmierkurs Java

AUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE)

Kurze Einführung in die Programmiersprache C++ und in Root

Java-Programmierung mit NetBeans

Aufzählung, Bennenung, Bedienung der wichtigsten Steuerelemente Verwenden von Menüs, Schaltflächen, Bildlaufleisten und Kontrollkästchen

Erste Schritte mit dem Notebook. Susanne Weber 1. Ausgabe, Juni unter Windows 7 PE-ESNOTEW7

Einführung in die Programmierung für NF. Übung

Arbeiten mit JavaKara

Quiz und Übungen. C++ Übung am 19. Mai 2016

Erstellen eines Referates in Word

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Programmieren mit Python

Brückenkurs Programmieren

3. Anweisungen und Kontrollstrukturen

Schleifen: Immer wieder dasselbe tun

Klassenvariablen, Klassenmethoden

Informatik II Musterlösung

Übersicht Shell-Scripten

Termumformungen. ALGEBRA Terme 2. Binomische Formeln. INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK. Datei Nr Friedrich W.

2 Eine einfache Programmiersprache

Objektorientierte Programmierung OOP Programmieren mit Java

5. Tutorium zu Programmieren

Anleitung Anmeldung Voluntarieinsatz (NEU)

- EINSTIEG IN JAVA - (1/5) Datum:

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

VATER. Du bist DA für uns. Immer schon, von Anfang an und ohne Ende: Gott, du erschaffst und erhältst unser Leben.

Übung 2: Motivation: Willentliche Bewegung im Dienste von Interesse und Neugier

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Streichholzgeschichten von Dieter Ortner.

Kleine Einführung in GIMP Zuschneiden eines Bildes

2 Eine einfache Programmiersprache

Der Löwe Bantu und die Zehnerüberschreitung

Erwin Grüner

Grundlagen von C# - 2

Übung zu Einführung in die Informatik # 11

Handout 3. Grundlegende Befehle und Konstruktionen (Modi) von Cinderella

Das Aussehen nicht-spielbarer Sims verändern (mit SimPE / Sims Surgery) Ein Tutorial von ReinyDay

System.out.println("TEXT");

Robot Karol - ein Lehrgang

Brückenkurs Programmieren

Vokabeln lernen mit Pauker Fachschaft Englisch, RWS Augsburg {LA}

Übersicht. 1) Hier sehen Sie, ob Sie sich gerade eine Bibliothek oder eine Sammel- Mappe ansehen.

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Einführung in die Programmierung am Beispiel von Java

5. Einführung in die Algorithmik

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Ofenplanung mit Palette CAD Seite 1 von 8 - Übungen für Einsteiger und Fortgeschrittene - Dipl.-Ing. Jürgen Feuerherm

Webbasierte Programmierung

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

Klassen mit Instanzmethoden

Mathematische Funktionen

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Kontrollstrukturen -- Schleifen und Wiederholungen

Elementare Konzepte von

bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln.

Wir danken Ihnen, dass Sie einen GYMBOSS minimax Interval Timer gekauft haben.

1. Einführung. Programmieren 1 / Algorithmen und Datenstrukturen. Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010

11. AUSFÜLLKÄSTCHEN. Aufgabe:

Transkript:

Der Hamstersimulator Selbstlernübungen mit der Programmiersprache Java Die nachfolgenden Übungen sollen es dir ermöglichen, selber die Syntax der Programmiersprache Java zu erlernen. Dabei gibt es eine Reihe von Kopfnüssen zu knacken, die das Verständnis für Programmieralgorythmen vertiefen. Grundlegende Informationen zu der Programmierumgebung findest du in der Datei Hamster Handbuch.pdf, die ebenfalls hier im Downloadbereich zur Verfügung steht.

01 Der Hamstersimulator Prozeduren ersparen Tipparbeit Aufgabe 1 Für die nächste Aufgabe erstellt ihr zunächst ein Hamsterteritorium nach folgendem Muster. Erstellt ein neues Unterverzeichnis im Ordner Hamster\Programme mit Namen \pyramide Speichert das Territorium unter dem Namen Tpyramide in dem neuen Unterverzeichnis. Erzeugt ein neues Programm und speichert es im selben Verzeichnis unter dem Namen prpyramide. Der Hamster soll bis zur Spitze der Pyramide laufen und dabei alle Körner, die er findet ins Maul nehmen. Danach läuft er auf der anderen Seite der Pyramide wieder herunter und legt die Körner am Boden ab. Für das Programm sollt ihr nicht mehr als 50 Zeilen Code schreiben. Dazu solltet ihr überlegen, welche Schritte ihr in Prozeduren zusammenfassen könntet. Für die Aufgabe gelten folgende Spielregeln: In jeder Zeile steht nur ein Befehl, z.b. vor(); Prozeduren werden wie folgt auf Zeilen verteilt: void machviel() { machwas(); machwas(); machwas(); } Hinter dem Hauptprogramm und den einzelnen Prozeduren folgt immer eine Leerzeile;

Aufgabe 2 Für Profis Neues Verzeichnis \Wache im Unterverzeichnis \Programme Neues Territorium twache Neues Programm prwache Der Hamster soll das Labyrinth durchlaufen und alle Körner einsammeln. Danach legt er alle Körner nach unten gezeigten Muster ab und kehrt an seinen Ausgangspunkt zurück. Der Code soll nicht mehr als 85 Zeilen umfassen. Es geht sogar noch weniger. Es gelten die selben Spielregeln wie bei der ersten Aufgabe.

03 Der Hamstersimulator Verzweigungen 1 Verzweigungen sind eine weitere mächtige Kontrollstruktur in Programmiersprachen. Mit ihnen kann eine Handlung abhängig von einer Bedingung gemacht werden. Beispiel: Mutter sagt zu Fritz: Wenn du genug Geld hast, kaufe dir ein Mettbrötchen. In Java könnte diese Bedingung so aussehen if 2 (genuggeld()) kaufebroetchen(); oder, falls mehrere Befehle ausgeführt werden sollen if (genuggeld()) { geheindiemensa(); kaufebroetchen(); verlassediemensa(); } Aufgabe Schreibe diesen Code mit Hilfe einer IF-Verzweigung und einer while-schleife. Unterverzeichnis \ifverzweigung01 Programmname: prifverzweigung01 Territorium: tifverzweigun01 Der Hamster soll von links nach rechts bis zur Wand laufen. Wenn er unterwegs ein Korn findet, soll er es fressen. 1 Vokabel lernen! 2 Wieder eine Vokabel

Für Profis Gehe zurück zum Ordner: \SchleifeMitEingangProfi und öffne das Territorium t SchleifeMitEingangProfi und das Programm prschleifemiteingangprofi Aufgabe: Nach dem erfolgreichen Ablauf eures Programmes steht unser Hamster nun ziemlich satt in dieser Position (sieh links ). Er soll nun erneut solange das Labyrinth durchlaufen und auf jedes Feld ein Korn legen, bis sein Maul leer ist. Das könnte dann so aussehen, wie auf dem Bild rechts.

03 Der Hamstersimulator Verzweigungen 1 Verzweigungen sind eine weitere mächtige Kontrollstruktur in Programmiersprachen. Mit ihnen kann eine Handlung abhängig von einer Bedingung gemacht werden. Beispiel: Mutter sagt zu Fritz: Wenn du genug Geld hast, kaufe dir ein Mettbrötchen. In Java könnte diese Bedingung so aussehen if 2 (genuggeld()) kaufebroetchen(); oder, falls mehrere Befehle ausgeführt werden sollen if (genuggeld()) { geheindiemensa(); kaufebroetchen(); verlassediemensa(); } Aufgabe Schreibe diesen Code mit Hilfe einer IF-Verzweigung und einer while-schleife. Unterverzeichnis \ifverzweigung01 Programmname: prifverzweigung01 Territorium: tifverzweigun01 Der Hamster soll von links nach rechts bis zur Wand laufen. Wenn er unterwegs ein Korn findet, soll er es fressen. 1 Vokabel lernen! 2 Wieder eine Vokabel

Für Profis Gehe zurück zum Ordner: \SchleifeMitEingangProfi und öffne das Territorium t SchleifeMitEingangProfi und das Programm prschleifemiteingangprofi Aufgabe: Nach dem erfolgreichen Ablauf eures Programmes steht unser Hamster nun ziemlich satt in dieser Position (sieh links ). Er soll nun erneut solange das Labyrinth durchlaufen und auf jedes Feld ein Korn legen, bis sein Maul leer ist. Das könnte dann so aussehen, wie auf dem Bild rechts.

02 Else hilft, wenn nichts mehr geht Mutter sagt zu Fritz: Wenn du deine Hausaufgaben gemacht hast, bekommst du ein Lob von Papa und darfst danach ins Kino, andernfalls bekommst du Ärger mit Papa und danach Stubenarrest. Auch Programme können zwischen zwei Möglichkeiten unterscheiden. Zu diesem Zweck haben wir bereits die IF-Verzweigung kennengelernt. Aber was soll passieren, wenn die Bedingung, die If erwartet hat, nicht eingetreten ist? Dann kann das Programm eintweder einfach beim nächsten Schritt weitermachen, oder aber eine alternative Handlung ausführen. Dafür benötigen wir das Schlüsselwort else. In Java sieht das so aus. if (hausaufgabengemacht()) { papalobtmich darfinskino(); } else {aergermitpapa(); kriegestubenarrest();} Aufgabe: Verzeichnis = hamsterschlau01 Programm = prhamsterschlau01 Territorium = thamsterschlau01 Unser Hamster soll bis an das Ende des Labyrinths finden. Dabei weiß er vorher nicht, in welche Richtung er an der Abzweigung abbiegen muss. Er soll also eine selbständige Entscheidung treffen. Das gleiche Programm muss also für Rechts- und Linkskurven gleichermaßen funktionieren. (> 15 Zeilen)

Für Profis Verzeichnis = hamsterschlau02 Programm = prhamsterschlau02 Territorium = thamsterschlau02 Unser Hamster hat Hunger. Es soll nun völlig selbständig den Weg durch dieses Labyrinth finden. Er weiß weder, wieviele Kurven er laufen muss, noch ob es an den Verzweigungen nach rechts oder links geht. Er weiß nur, dass am Ende ein Korn auf ihn wartet, welches er gierig fressen wird. Danach geht der Hamster schlafen, d. h. das Programm endet. (<23 Zeilen = Meisterklasse)

05 Schleifen und Verzweigungen Gemischte Aufgaben Die Sterne geben den Schwierigkeitsgrad an. Rundlauf ** Programm = prrundlauf Territorium = trundlauf Verzeichnis = Rundlauf Der Hamster läuft einmal im Kreis um die Mauer herum. Er weiß nicht, wo wieviele Körner liegen. Bei seinem Rundlauf nimmt er alle Körner in seinem Maul auf. In der zweiten Runde legt er auf jedes Feld ein Korn, bis dass das Maul leer ist. Das Programm endet, wenn der Hamster wieder am Ausgangspunkt angekommen ist. ZickZack und zurück *** Programm = przickzack Territorium = tzickzack Verzeichnis = Zickzack Der Hamster durchläuft selbständig das Labyrinth. Er weiß nicht, wo es nach links oder echts geht. Auf seinem Weg sammelt er alle Körner ein. Am Ende (wenn alle Körner eingesammelt sind) kehrt er selbständig zu seinem Ausgangspunkt zurück und legt dort alle Körner ab. Tipp: Das auf dem ersten Feld liegende Korn zunächst liegenlassen und als Abbruchbedingung für den Rückweg verwenden. Beachtet ferner, dass auf dem letzten Feld des Weges kein(!) Korn liegt.

Schlangenlinien* Programm = prschlangenlinien Territorium = tschlangenlinien Verzeichnis = Schlangenlinien Der Hamster durchläuft sein Territorium einmal in Schlangenlinien. Er weiß nicht, wo die Mauer ist. Er weiß aber, wie oft er seine Richtung ändern muss bis er da ist. Körnersuche ** usw. Programm = prkoernersuche Territorium = tkoernersuche Verzeichnis = Koernersuche Der Hamster hat Hunger. Er weiß nicht, wo die Körner liegen. Er macht sich also auf die Suche. Das Programm endet, wenn der Hamster die Körner gefunden und gefressen hat. Das Programm muss auch funktionieren, wenn die Körner auf einem beliebigen Feld in beliebiger Anzahl liegen.

Der Hamstersimulator 06 For-Schleifen mit festgeleger Wiederholungszahl und Variablen Fritzchen hat im Informatikraum ein triefendes Softeis gegessen und damit drei Tastaturen vollständig zugeschmiert. Natürlich gibt es dafür eine Sonderaufgabe. Der Lehrer schreibt an die Tafel Ich darf im Unterricht kein Softeis essen. Dann sagt er Das schreibst du jetzt ab bis zum Klingeln. Fritzchen grinst. Es schellt in drei Minuten. Doch auch der Lehrer hat eine Uhr und er verbessert sich schnell: Du wiederholst das Abschreiben dieses Satzes hundert Mal!. Mist! Bisher haben wir eine Schleife mit einer Abbruchbedinung kennengelernt. Das heißt ein Vorgang wird so lange wiederholt, bis eine bestimmte Bedingung erfült ist. (Abschreiben bis zum Klingeln). Manchmal kann es aber auch sinnvoll sein, eine Schleife eine bestimmte Anzahl von Malen zu wiederholen. (100 mal abschreiben) In Java sieht das so aus for (int zaehler=1; zaehler <=100; zaehler++) schreibab(); Hier wird ein Zaehler angemeldet. Das Schlüsselwort int sagt Java, dass es sich um eine ganze Zahl handelt. int ist die Abkürzung für integer (ganze Zahl). Der Anfangswert des Zählers ist 1. Hier wird festgelegt, wie oft die Schleife wiederholt werden soll: 50 mal Nach jeder Wiederholung der Schleife, wird der Zähler um einen Schritt erhöht. Das erreicht man in Java durch die Ergänzung ++. Hier wird festgelegt, was innerhalb der Schleife ausgeführt werden soll: SchreibAb();

Aufgaben: 1. Der Neunzehner-Lauf* Verzeichnis = neunzehnerlauf Programm = prneunzehnerlauf Territorium = tneunzehnerlauf Verwende eine For-Schleife um den Hamster 19 Schritte vorwärts laufen zu lassen. 2. Kreisläufer ** Verzeichnis = kreislaeufer Programm = prkreislaeufer Territorium = tkreislaeufer Unser Hamster soll 10 Mal um die Mauer herumlaufen. Wenn er vor eine Wand läuft, ändert er selbständig die Richtung. 3. Häufchenleger*** Verzeichnis = haeufchenleger Programm = prhaeufchenleger Territorium = thaeufchenleger Der Hamster umkreist die Mauer und sammelt dabei alle Körner ein. Anschließend geht er schrittweise 8 Felder vor und legt dabei auf jedes Feld 5 Körner.