You are on page 1of 4

¨ ¨ FAKULTAT FUR INFORMATIK

Lehrstuhl fur Sprachen und Beschreibungsstrukturen ¨ Einfuhrung in die Informatik I ¨ Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz, Dr. M. Petter Abgabe: 15.05.11 (vor 12 Uhr) Hinweis: Die Klasse MiniJava In der Klasse MiniJava sind einige Details versteckt, damit Sie sich in den ersten Wochen ganz auf das Wesentliche konzentrieren k¨nnen. Die Klasse bietet folgende Methoden zur o vereinfachten Ein- bzw. Ausgabe: • read() und readInt() zum Einlesen eines ganzzahligen Werts, • readString() zum Einlesen einer textuellen Eingabe, • sowie write(...) zur vereinfachten Ausgabe. Um die Klasse benutzen zu k¨nnen, o • laden Sie die Klasse MiniJava.java von der Vorlesungsseite: http://www2.in.tum.de/hp/file?fid=645 • speichern Sie MiniJava.java im selben Verzeichnis wie Ihre eigenen Java-Dateien • und erweitern Sie ihre Klassendefinition(en) um extends MiniJava. Verwenden Sie zur L¨sung der Aufgaben nur MiniJava-Sprachkonstrukte! o Aufgabe 1.1 (P) Erste Schritte a) Starten Sie die Entwicklungsumgebung NetBeans. Erstellen Sie ein neues Projekt na¨ mens Info1 in NetBeans. Offnen Sie die Datei MiniJava.java in NetBeans und speichern Sie diese in Ihrem Projekt unter Info1/src/info1/MiniJava.java ab. NetBeans weist Sie daraufhin, dass die package declaration ge¨ndert werden muss. F¨gen a u Sie dazu die Zeile package info1; am Anfang der Klasse MiniJava ein. b) Erstellen Sie nun die Klasse HelloWorld im Package info1 in NetBeans. Diskutieren Sie mit Ihrem Tutor die automatisch erstellten Elemente des Programms. Erg¨nzen a Sie Ihr Programm folgendermassen:
public c l a s s HelloWorld extends MiniJava { public s t a t i c void main ( S t r i n g [ ] a r g s ) { w r i t e ( ” H e l l o World ! ”) ; } }

¨ ¨ TECHNISCHE UNIVERSITAT MUNCHEN

SS 2011 ¨ Ubungsblatt 1 05.05.11

Am Ende sollte ihr Netbeans in etwa so aussehen:

Aufgabe 1. Anschließend soll die berechnete Summe ausgegeben werden.java. Aufgabe 1. welches solange Zahlen einliest und summiert bis die Zahl 0 eingegeben wird. wie auf dem 1. b) Leider muss Bart des ofteren nachsitzen und verschiedene S¨tze verschieden oft als a ¨ Strafaufgabe ausgeben lassen. Modifizieren Sie das obige Programm so.und Ausgabe a) Bart muss schon wieder nachsitzen. c) Machen Sie den Ordner in ihrem Benutzerverzeichnis ausfindig.2 (P) Ein. das wie folgt funktioniert: . unter Windows im Ordner %HOMEPATH%\Eigene Dokumente\NetBeansProjects\Info1\src Aufgabe 1.4 (P) 17 und 4 In dieser Aufgabe wollen wir das Kartenspiel 17 und 4 programmieren. Als Strafaufgabe muss er ein Programm schreiben.) u Sie finden diese Dateien unter Unix normalerweise unter /home/username/NetBeansProjects/Info1/src . (Auf diese Weise geben Sie in Zukunft Ihre o Hausaufgaben ab. Helfen Sie ihm dabei dies m¨glichst effizient umzusetzen. o Hinweis: Erstellen Sie dazu im Package info1 eine neue Klasse namens Bart. dass es nach einem Satz und seinen Wiederholungen fragt und diesen dann entsprechend oft am Bildschirm ausgibt. wie dem Erstellen und Ausf¨hren u des Programms vertraut. Merkblatt ausf¨hrlich beschrieben.3 (P) Summe Schreiben Sie ein Java-Programm namens Sum.java. bzw. an dem Netbeans Ihre Java-Dateien ablegt – ubertragen Sie den Ordner mit den Java-Quellcode-Dateien ¨ als Ihre L¨sung auf den Abgabeserver. das auf dem Bildschirm 100 Mal den Satz Ich darf w¨hrend der Vorlesung nicht Computer spielen! a ausgibt.2 Machen Sie sich mit den grundlegenden Funktionen.

java. (0. Schreiben Sie f¨r Bart ein Programm namens u Parabel. b = 2 und c = 1 erh¨lt Bart die Wertepaare: a (-5.89). falls die Summe der beiden W¨rfel genau der u gew¨hlten Zahl des Spielfeldes entspricht. Zum Beispiel: Bei der Eingabe von a = 5. • Er kann entscheiden. ob er weitere Karten ziehen m¨chte oder nicht. Eingaben auf Ihre G¨ltigkeit hin zu uberpr¨fen! u u ¨ Aufgabe 1. • Es gewinnt der Spieler.8). y)u o Paare durch die er die Parabeln zeichnen kann.4). Anschliessend zahlt die Bank u entsprechend folgender Regel an den Spieler dessen Gewinn aus: • der dreifache Einsatz wird ausgezahlt.17). (-4. (1. • der doppelte Einsatz wird ausgezahlt. mit dem man 17 und 4 zu zweit spielen kann. der als erstes am n¨chsten an 21 Punkte herankommt. nahe genug an 21 Punkte herangekommen zu sein.40). (-3. • Ziel des Spiels ist es. mit zwei oder mehr Karten n¨her an 21 Punkte heranzukommen a als der andere Spieler.java schreiben. so lehnt er weitere Karten ab. Verwenden Sie dazu die statische Methode int drawCard() der Klasse u u MiniJava. • Jeder Spieler hat am Anfang zwei Spielkarten.52). a .6 [4 Punkte] (H) Lustige Sieben In dieser Aufgabe wollen wir das W¨rfelspiel Lustige Sieben als ein Programm namens u LustigeSieben. Jeder Spieler soll uber Dialogboxen gefragt werden.25).java. ob er weitere Karten ziehen will: ¨ 1 f¨r ja. Der Spieler setzt einen Teil seines Guthabens auf nur eines der Felder des Spielfelds. Der Spieler startet mit einem Guthaben von 100. Hinweis: Achten Sie darauf. o • Glaubt er. das f¨r ihn diese 11 Wertepaare berechnet. Die Bank w¨rfelt mit zwei W¨rfeln. der gegen die Bank spielt. Dazu steht Ihnen die u u Methode int dice() der Klasse MiniJava zur Verf¨gung. Seine Parabeln sind immer von folgender Form: f (x) = ax2 + bx + c wobei der Definitionsbereich f¨r x von −5 bis 5 reicht.136) Aufgabe 1. (5. (2. falls die Summe der beiden W¨rfel 7 ergibt und u der Spieler auf die 7 gesetzt hat.73).116). (4.3 • Zwei Spieler spielen gegen einander. Bart ben¨tigt insgesamt 11 (x. b und c. um Karten zu ziehen.1). (3. 0 f¨r nein. ¨ • Eine Karte kann einen Wert zwischen 2 und 11 Punkten haben. verliert er sofort.5 [1 Punkt] (H) Parabel Bart muss als Hausaufgabe Parabeln in ein Koordinatensystem einzeichnen. (-1. (-2. Es gibt einen Spieler. ohne dabei den Wert von 21 Punkten zu uberschreiten. a Schreiben Sie ein Mini-Java Programm SuV. • Wenn er durch einen Zug 22 oder mehr Punkte erreicht. f¨r beliebige Eingaben f¨r die u u u Parameter a.

so erh¨lt der Spieler f¨r die Wahl u a u der 4 den doppelten Einsatz. Verhindern Sie eine Uberschreitung des Kontos! d) Lassen Sie wiederholt neue Spiele mit dem aktualisierten Kontostand zu! . a a Zum Beispiel: Wenn insgesamt 4 Augen gew¨rfelt werden. Hinweis: Achten Sie darauf.4 • der einfache Einsatz wird zur¨ckgezahlt. 5 oder 6 u gesetzt hat und verliert andernfalls seinen Einsatz an die Bank. wenn der Spieler auf die 2. Das Spielfeld sieht wie folgt aus: 7 2 8 3 9 4 10 5 11 6 12 Das Programm fragt solange nach der gew¨hlten Zahl und dem Einsatz bis das Guthaben a von 100 des Spielers aufgebraucht ist oder der Spieler die 0 zur Beendigung des Gl¨cksspiels u eingegeben hat. falls sich das W¨rfelergebnis auf derselben u u L¨ngsseite wie die gew¨hlte Zahl befindet. 3. Nach jeder Runde soll das W¨rfelergebnis und das Guthaben des Spielers u ausgegeben werden. seinen Einsatz zur¨ck. Eingaben auf Ihre G¨ltigkeit hin zu uberpr¨fen! u u ¨ Hilfestellung: Implementieren Sie die Aufgabenstellung in kleinen Schritten so weit Sie kommen: a) Lassen Sie den Spieler zuerst nur einmal und ohne Einsatz spielen – Vergleichen Sie den Tip mit dem W¨rfelergebnis! u b) Lassen Sie den Spieler einen beliebigen Betrag auf eine Zahl setzen – Geben Sie den Gewinn/Verlust aus! c) Legen Sie einen Kontostand f¨r den Spieler an und verrechnen Sie den Gewinn/Verlust u ¨ mit dem Kontostand.