Sie sind auf Seite 1von 4

Programmieren  Wintersemester 2013/14

Forschungsgruppe Verikation trit Algorithmik

http://baldur.iti.kit.edu/programmieren 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@ipd.info.uni-karlsruhe.de.

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 https://studium.kit.edu 2 https://praktomat.info.uni-karlsruhe.de/ 3 http://www.scc.kit.edu/dienste/vpn.php 4 http://baldur.iti.uka.de/programmieren/downloads/disclaimer.pdf

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 (markus.iser@kit.edu, Sprechstunde Di. 13 - 14 Uhr, Gebude 50.34, Raum 105) und Florian Merz (orian.merz@kit.edu, 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
TeilA.txt

04. November freigeschaltet. Die Lsung dieses Blattes, wird aus 04. November 13 Uhr - 11. NovemRoundAndRound.java
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 https://webinscribe.ira.uka.de/ 6 http://baldur.iti.uka.de/programmieren/

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

java.lang

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:

http://docs.oracle.com/javase/7/docs/api/java/lang/package-summary.html.

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 Math.pow und die Konstante Math.PI. 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 RoundAndRound.java 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 http://docs.oracle.com/javase/7/docs/api/ 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