Programmieren Wintersemester 2013/14
Forschungsgruppe Verikation trit Algorithmik
[Link] Dr. Carsten Sinz Markus Iser Florian Merz
bungsblatt 1
Ausgabe: 28.10.2013 13:00 Abgabe: 11.11.2013 13:00
Allgemeine Hinweise
bungsschein
Sie knnen sich ab sofort im KIT-Studierendenportal
zeitraum endet am 23.12.2013.
1 fr den bungsschein anmelden.
Der Anmelde-
Im Laufe des Semesters werden 6 bungsbltter zu bearbeiten sein. Auf jedem bungsblatt knnen im Durchschnitt 20 Punkte erzielt werden. Insgesamt kann also eine Gesamtpunktzahl von 120 Punkten erreicht werden. Sie erhalten den bungsschein, wenn Sie davon am Semesterende mindestens 60 Punkte erreicht haben.
Der Erhalt des (unbenoteten) bungsscheins ist noteten) Abschlussaufgaben. Die Prfung Programmieren ist eine
Voraussetzung
fr die Teilnahme an den beiden (be-
Orientierungsprfung, das heit es gelten besondere Prfungsmo-
dalitten. Insbesondere mssen die beiden Abschlussaufgaben vor Ende des dritten Semesters bestanden werden. Auerdem muss der erste Versuch die Abschlussaufgaben erfolgreich zu bearbeiten vor Ablauf des zweiten Semesters stattgefunden haben.
Die bungen mssen
selbstndig
und
ohne fremde Hilfe
bearbeitet werden. Sollten wir feststellen,
dass es sich bei Ihrer Abgabe um eine nicht selbstndig verfasste Lsung handelt, wird der bungsschein Programmieren sofort als nicht bestanden bewertet. Sie haben dann infolgedessen nicht mehr die Mglichkeit, in diesem Semester die Abschlussaufgaben zu bearbeiten.
Praktomat
Ihre Lsungen der bungsbltter mssen ber das Praktomat-System
2 abgegeben werden; andere Abgaben
werden nicht akzeptiert. Planen Sie also gerade am Anfang gengend Zeit vor der Abgabe ein (mindestens einen Tag), um sich mit dem System vertraut zu machen und Probleme bei der Abgabe zu beheben.
Bei technischen Problemen mit dem Praktomaten wenden Sie sich bitte unter Angabe ihrer Matrikelnummer an den Praktomat-Support - erreichbar ber
praktomat@[Link].
Der Praktomat ist nur innerhalb des KIT-Netzes erreichbar. Benutzen Sie, wenn Sie Zuhause arbeiten, den VPN-Client des KIT . Wir bentigen von Ihnen eine ben bis
Einverstndniserklrung
zur elektronischen Speicherung und Nutzung
Ihrer Daten fr Programmieren. Bitte geben Sie das entsprechende Formular
sptestens 04.11.2013 bei Ihrem Tutor ab. Andernfalls wird Ihr Praktomat-Account gesperrt.
4 ausgefllt und unterschrie-
1 [Link] 2 [Link] 3 [Link] 4 [Link]
Programmieren Wintersemester 2013/14
28.10.2013 13:00
Organisation und Kommunikation
Bei Fragen oder Unklarheiten wenden Sie sich bitte vor der Abgabe des bungsblattes an Ihren Tutor. Ihr Tutor wurde Ihnen durch das WebInScribe-System Ihr erster
Ansprechpartner.
5 zugeteilt und ist in allen Fragen zur Vorlesung
Ihre Lsungen werden von Ihrem Tutor im Praktomaten bewertet. Sie erhalten dann eine Zusammenfassung der Korrektur per E-Mail an Ihre online einsehen.
KIT-Adresse.
berprfen Sie das Postfach dieses Accounts
regelmig auf neue E-Mails. Alle Anmerkungen des Tutors knnen Sie anschlieend im Praktomaten
In den wchentlich stattndenden
Tutorien
ndet eine Nachbesprechung der bungsbltter und eine
Vertiefung des Vorlesungsstoes statt. Zustzlich ist hier ausreichend Raum fr inhaltliche Fragen zur Vorlesung und zur Diskussion mit dem Tutor und anderen Studierenden.
Auf der ILIAS-Platform haben Sie Zugri auf
betreute Foren. Das Forum ist unter anderem fr inhalt-
liche Fragen die bungsbltter betreend gedacht. Stellen Sie inhaltliche Fragen ausschlielich im Forum und nicht per E-Mail, da nur so alle Teilnehmer der Vorlesung gleichermaen davon protieren knnen.
Auf der
Vorlesungshomepage6 verentlichen wir bisweilen wichtige Neuigkeiten (auch abonnierbar via
Twitter). Dort werden Sie unter anderem ber eventuelle Korrekturen von Aufgabenstellungen informiert, weshalb das Beobachten der Neuigkeiten obligatorisch ist.
Falls Ihnen Ihr Tutor nicht weiterhelfen kann, stehen Ihnen fr fachliche und organisatorische Fragen die beiden bungsleiter
Markus Iser ([Link]@[Link], Sprechstunde Di. 13 - 14 Uhr, Gebude 50.34, Raum 105) und Florian Merz ([Link]@[Link], Sprechstunde Do. 13 - 14 Uhr, Gebude 50.34, Raum 228)
zur Verfgung.
Beachten Sie die folgenden Fristen:
1. 2. 3.
Abgabe der
Einverstndniserklrung
bis sptestens 04.11.2013
Erste Anmeldung im
Praktomaten bis sptestens 04.11.2013 Studierendenportal bis sptestens 23.12.2013
Anmeldung zum bungsschein im
Abgabemodalitten
Die Praktomat-Abgabe wird am Montag den zwei Textdateien bestehen. Laden Sie diese im Abgabezeitraum vom
ber 13 Uhr
[Link]
04. November freigeschaltet. Die Lsung dieses Blattes, wird aus 04. November 13 Uhr - 11. [Link]
ab.
im Praktomaten hoch. Geben Sie Ihre Antworten zu Teil A in einer Textdatei mit dem Namen
ab. Geben Sie Ihr Programm aus Teil B in einer Datei mit dem Namen
Achten Sie darauf, dass das Programm compilier- und ausfhrbar ist.
5 [Link] 6 [Link]
Seite 2 von 4
Programmieren Wintersemester 2013/14
28.10.2013 13:00
Java - Compiler und Interpreter (5 Punkte)
Im folgenden sollen Sie kurze Programmbeispiele auf ihrem Computer kompilieren und ausfhren. Dabei kommt es manchmal zu Compiler- oder Laufzeitfehlern, oder einfach zu unerwartetem Verhalten. Beschreiben Sie das Problem, das Sie erkennen, und erklren Sie jeweils dessen Ursache und falls mglich wie Sie es beheben wrden.
A.1
One by one
public class OneByOne { public static void main ( String [] args ) { String one = "1"; System . out . println ( one / 1) ; } }
A.2
A Million Squared
public class AMillionSquared { public static void main ( String [] args ) { int a = 1000000; int b = 1000000; int c = a * b ; System . out . println ( " 1000000 * 1000000 = " + c); } }
A.3
Fragments of a Dozen
public class FragmentsOfADozen { public static void main ( String [] args ) { int dozen = 12; int div = 12; System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div System . out . println ( dozen + " % " + -- div } }
+ + + + + + + + + + + +
" " " " " " " " " " " "
= = = = = = = = = = = =
" " " " " " " " " " " "
+ + + + + + + + + + + +
dozen dozen dozen dozen dozen dozen dozen dozen dozen dozen dozen dozen
% % % % % % % % % % % %
div ); div ); div ); div ); div ); div ); div ); div ); div ); div ); div ); div );
A.4
Bytes You
public class BytesYou { public static void main ( String [] args ) { byte a = 24; byte b = 7; byte c = a * b ; } }
A.5
To Be Precise ...
public class ToBePrecise { public static void main ( String [] args ) { System . out . println (1 E300 * 1 E20 == 1 / 0.0) ; } }
Seite 3 von 4
Programmieren Wintersemester 2013/14
28.10.2013 13:00
Java - API und Klassen (5 Punkte)
7
Eine Java - Installation geht einher mit der Installation einer umfangreichen Bibliothek von Klassen, die Ihnen eine umfassende Basisfunktionalitt bereitstellt . Die Klassen aus dem Paket
[Link]
sind in jedem Java - Programm automatisch vorhanden und benutzbar.
Verschaen Sie sich einen berblick ber die Klassen auf der entsprechenden Seite der Java-API Dokumentation:
[Link]
B.1
Die Klasse Circle
Math
an. Erweitern Sie die Klasse
RoundAndRound8 aus dem Codebeispiel und berechnen Sie die verbleibenden Werte der Attribute der beiden Objekte circle1 und circle2. Benutzen Sie hierbei die Methode [Link] und die Konstante [Link]. Geben Sie die Ergebnisse auf dem
Sehen Sie sich die Dokumentation der Klasse Bildschirm aus .
class Circle { double radius ; double diameter ; double circumference ; double area ; } public class RoundAndRound { public static void main ( String [] args ) { Circle circle1 = new Circle () ; circle1 . radius = 5.1; // calculate the remaining attributes for circle1 here Circle circle2 = new Circle () ; circle2 . radius = 17.5; // calculate the remaining attributes for circle2 here System . out . println ( " circle1 . radius = " + circle1 . radius ); // add more output - commands here } }
B.2
Die Klasse Cone
Circle Cone
und modelliert hinzu, welches die Grundche beschreibt.
Fgen Sie der Datei [Link] eine weitere Klasse hinzu. Die Klasse heit einen Kegel. Fgen Sie dieser Klasse ein Attribut vom Typ Programmcode auf Englisch verfasst sein muss. Erstellen Sie in der
Fgen Sie weitere Attribute hinzu fr Hhe, Volumen und Oberche des Kegels. Beachten Sie dabei, dass Ihr
bekommt die Grundche
main-Methode von RoundAndRound zwei neue Objekte vom Typ Cone. Das Objekt cone1 circle1 zugewiesen. Das Objekt cone2 bekommt die Grundche circle2 zugewiesen. Beide Objekte erhalten eine Hhe von 10.3. Berechnen Sie die Werte der verbleibenden Attribute mithilfe von Methoden der Klasse Math und geben Sie die Ergebnisse auf dem Bildschirm aus.
7 [Link] 8 9
Sie knnen sich die Datei auch von der Vorlesungsseite herunterladen Geben Sie zeilenweise fr jedes Objekt die Attribute mit Name und Wert aus
Seite 4 von 4