• Keine Ergebnisse gefunden

Einf¨uhrung in die Programmierung WS 2018/2019, Blatt 04

N/A
N/A
Protected

Academic year: 2022

Aktie "Einf¨uhrung in die Programmierung WS 2018/2019, Blatt 04"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einf¨ uhrung in die Programmierung

WS 2018/2019, Blatt 04

Prof. Dr.-Ing. Norbert Siegmund M.Sc. Andr´e Karge Ausgabe: 12.11.2018

Abgabetermin: Montag, 19.11.2018, 11:00 Uhr

Bitte lesen Sie die folgenden Informationen zum ¨Ubungsablaufsorgf¨altig durch.

Grunds¨atzlich – wenn nicht anders angegeben – sind die L¨osungen zu den ¨Ubungen zu Einf¨uhrung in die Programmie- rung jedenMontag bis sp¨atestens 11:00 Uhran Andr´e Karge per E-Mail zu schicken.

Schreiben Sie bitte im Betreff Ihrer E-Mail IhreTeamnummersowie die Nummer des ¨Ubungsblattes. In der E-Mail schreiben Sie bitte zus¨atzlich Ihren NamenundMatrikelnummer. Die L¨osungen f¨ur Sie bitte als Java Dateien als Anlage hinzu. Es werdenkeinekompilierten Dateien, wie *.class oder *.jar angenommen.

Ubungen m¨¨ ussen von minimal zweiundmaximal dreiStudierenden aus derselben ¨Ubungsgruppe in einem festen Team bearbeitet werden (Ausnahmen nur auf Anfrage beim ¨Ubungsleiter). Pro Team soll die L¨osung nur einmal abge- geben werden. Aufgaben sollenim Team gel¨ostund nicht nur vom Team abgegeben werden. Sie m¨ussen mindestens 50% dieser Punkte f¨ur eine Zulassung zur Pr¨ufung erreichen. Das Abschreiben identischer L¨osungen wird jeweils mit 0 Punkten bewertet.

Bei Fragen oder Unklarheiten wenden Sie sich bittevor der Abgabe des ¨Ubungsblattes an den ¨Ubungsleiter (per E-Mail oder pers¨onlich). Es soll nie jemand sagen m¨ussen:

”Wir haben die Aufgabe nicht verstanden und konnten sie daher nicht bearbeiten.”

Weitere Informationen, wie aktuelle Ank¨undigungen, finden Sie online (https://www.uni-weimar.de/de/medien/

professuren/intelligente-softwaresysteme/lehre/) unter Einf¨uhrung in die Programmierung

Aufgabe 1 Schleifen und Arrays (3 Punkte)

Erstellen Sie ein Array, welches die Zahlen von 1 bis 100 enth¨alt. Iterieren Sie anschließend mit einer while-Schleife

¨uber dieses Array. Geben Sie in jedem Schleifenschritt folgendes aus:

a) Hopwenn die Zahl durch 7 teilbar ist.

b) Hipwenn die Zahl eine 7 in der Einerstelle hat.

c) die Zahl in Ziffern, wenn weder a) noch b) gilt.

Aufgabe 2 BattleShip I (8 Punkte)

Schreiben Sie ein Programm, das ein “Ein-Schuss-Schiffeversenken“ realisiert. Legen Sie hierzu in ihrem Programmcode ein festes zweidimensionales Array der Gr¨oße 10×10 an, das f¨ur jede Koordinate (x, y) speichert, ob sich an dieser Stelle ein Schiffsteil befindet. ¨Uberlegen sie sich, welcher Datentyp hierf¨ur am Besten geeignet ist. Als Beispiel k¨onnen Sie folgende Seekarte verwenden:

o o

o o o o o

o

o o o

o o

o o o o o

o o o o o o

o o

o o o o

Fragen Sie den Benutzer nach einerxundyKoordinate. Geben Sie dann aus, ob sich an der entsprechenden Stelle ein Schiffsteil befindet. Pr¨ufen Sie auch ab, ob die angegebene Koordinate zul¨assig ist.

(2)

Aufgabe 3 Battleship II (6 Punkte)

Passen Sie Ihr “Ein-Schuss-Schiffeversenken“ von Aufgabe 2 so an, dass der Benutzer mehrere Sch¨usse abgeben kann.

Hierzu setzen Sie nach jedem Treffer auf ihrer Seekarte das getroffene Schiffsteil auf false.

Hinweis: Um den Benutzer mehrfach schießen zu lassen, ben¨otigen Sie eine while-Schleife. ¨Uberlegen Sie sich, wie Sie feststellen k¨onnen, ob das Spiel zu Ende ist.

Referenzen

ÄHNLICHE DOKUMENTE

(v) public Node getNextNode() gibt die Referenz auf den n¨ achsten Knoten oder null zur¨ uck, falls der Knoten der letzte der Liste ist.. (vi) public Node getPreviousNode() gibt

Eine weitere Methode soll auf einem ¨ ubergebenen String nacheinander (in der Reihenfolge, in der die Objekte hinzugef¨ ugt wurden) die Methode modify der

Grunds¨ atzlich – wenn nicht anders angegeben – sind die L¨ osungen zu den ¨ Ubungen zu Einf¨ uhrung in die Programmie- rung jeden Montag bis sp¨ atestens 11:00 Uhr an Andr´ e

Geben Sie 2 Beispiele f¨ ur Objekte an, die nicht durch Ihre Klassendeklaration erstellt werden

Grunds¨ atzlich – wenn nicht anders angegeben – sind die L¨ osungen zu den ¨ Ubungen zu Einf¨ uhrung in die Programmie- rung jeden Montag bis sp¨ atestens 11:00 Uhr an Andr´ e

Grunds¨ atzlich – wenn nicht anders angegeben – sind die L¨ osungen zu den ¨ Ubungen zu Einf¨ uhrung in die Programmie- rung jeden Montag bis sp¨ atestens 11:00 Uhr an Andr´ e

(v) public Node getNextNode() gibt die Referenz auf den n¨ achsten Knoten oder null zur¨ uck, falls der Knoten der letzte der Liste ist.. (vi) public Node getPreviousNode() gibt

Beachten Sie, dass eine java.util.ArrayList keine primi- tiven Datentypen speichern kann und Sie deshalb eine Wrapper-Klassen (entweder eine eigene oder aus java.lang) verwenden