P Ü1 - WS 19/20 PDF

Title P Ü1 - WS 19/20
Course Programmieren I
Institution Karlsruher Institut für Technologie
Pages 8
File Size 195.1 KB
File Type PDF
Total Downloads 61
Total Views 142

Summary

WS 19/20...


Description

Prof. Dr.-Ing. Anne Koziolek Architecture-driven Requirements Engineering (ARE) https://sdqweb.ipd.kit.edu/wiki/Programmieren [email protected]

Programmieren – Wintersemester 2019/2020 Übungsblatt 1

20 Punkte

Version 1.0

Ausgabe: 06.11.19, ca. 13:00 Uhr Praktomat: 13.11.19, 13:00 Uhr Abgabefrist: 21.11.19, 06:00 Uhr

Hinweise zu den Prüfungsmodalitäten Bei organisatorischen Fragen zu ihrem Studiengang und zu speziellen Prüfungssituationen wenden Sie sich bitte an den entsprechenden Studiengangservice. Für die Fakultät für Informatik ist dies beispielsweise der ISS1 . Verbindliche Informationen zu den Prüfungsmodalitäten für Programmieren im Rahmen Ihres Studiums erhalten Sie in den jeweils zutreffenden Modulhandbüchern, der Studienordnung und per Nachfrage beim Studiengangservice.

Hinweise zum Übungsbetrieb Organisatorisches • Im Semesterverlauf werden 5 Übungsblätter ausgegeben. Diese erscheinen im Abstand von zwei Wochen. Die Bearbeitungszeit beträgt jeweils zwei Wochen. • Jedes der fünf Übungsblätter hat einen Umfang von 20 Punkten. Insgesamt können somit 100 Punkte durch die Bearbeitung der Übungsblätter erreicht werden. Sie bestehen den Übungsschein durch das Erhalten von mehr als 50% der maximal zu erreichenden Punktzahl aus den Übungsblättern und mehr als 75% der maximal zu erreichenden Punktzahl aus der Präsenzübung. • Des Weiteren ist zum Erhalt eines Übungsscheins eine Anmeldung im Campus Management Portal2 erforderlich. Die Anmeldezeitraum startet am 02.12.2019 und endet am 08.01.2020, jeweils um 12 Uhr. Eine zeitnahe Anmeldung ist jedoch empfohlen. • Der Übungsschein ist nicht benotet. Die Gesamtnote dieser Lehrveranstaltung setzt sich alleinig aus den Noten der zwei Abschlussaufgaben zusammen. 1 https://www.informatik.kit.edu/iss.php 2 https://campus.studium.kit.edu/

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

• Der Erhalt des (nicht benoteten) Übungsscheins ist Voraussetzung für die Teilnahme an den beiden (benoteten) Abschlussaufgaben. • Abgegebene Übungsblätter werden durch einen Tutor korrigiert und bewertet. • Überprüfen Sie das Postfach Ihrer KIT-Mailadresse regelmäßig auf neue E-Mails. Sie erhalten eine Zusammenfassung der Korrektur per E-Mail an diese Adresse. Alle Anmerkungen des Tutors können Sie anschließend im Praktomaten online einsehen. • Die Prüfung Programmieren ist eine Orientierungsprüfung, das heißt es gelten besondere Prüfungsmodalitäten. Insbesondere müssen die beiden Abschlussaufgaben vor Ende des Prüfungszeitraums des dritten Semesters bestanden werden. Außerdem muss der erste Versuch die Abschlussaufgaben zu bearbeiten vor Ablauf des Prüfungszeitraums des zweiten Semesters stattgefunden haben. Tiefergehende Informationen finden Sie in den jeweiligen Modulhandbüchern sowie der Prüfungsordnung.

Abgabesystem • Die Übungsblätter werden über das Praktomat-System3 abgegeben. Abgaben auf anderem Weg werden grundsätzlich abgelehnt. Machen Sie sich daher rechtzeitig mit dem Praktomat-System vertraut und planen Sie eine ausreichende Einarbeitungsphase ein. • Die Freischaltung der Abgabemöglichkeit im Praktomat erfolgt jeweils eine Woche nach Ausgabe eines Übungsblattes bzw. eine Woche vor Ablauf der Abgabefrist. Eine frühere Abgabe ist nicht möglich. • Der Praktomat erzwingt eine Mindestqualität der Abgabe, indem Abgaben abgelehnt werden, die bestimmte Qualitätskriterien verletzen. Planen Sie daher bei jeder Abgabe genügend Zeit ein, mindestens aber einen Tag Puffer. Die Qualitätskriterien werden jeweils im Abschnitt Bearbeitungshinweise beschrieben. Mit fortschreitendem Semester werden die Qualitätskriterien zunehmend strikter. • In den Bearbeitungshinweisen sind für jedes Übungsblatt alle Qualitätskriterien, die Ihre Lösung einhalten muss, aufgelistet. Diese Punkte werden im Laufe der Veranstaltung kontinuierlich ergänzt und erweitert, sodass Sie bei der Abgabe eines Blattes sowohl die bisherigen Tests, als auch die Tests im jeweiligen Blatt bestehen müssen. • Wenn eine Abgabe vom Praktomaten abgelehnt wurde, kann diese entsprechend auch nicht von Ihrem Tutor korrigiert werden. Planen Sie daher bei jeder Abgabe genügend Zeit ein. Empfohlen wird eine Pufferzeit von mindestens einem Tag.

3 https://praktomat.cs.kit.edu/

Seite 2 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

• Der Praktomat ist nur innerhalb des KIT-Netzes erreichbar. Benutzen Sie, wenn Sie Zuhause arbeiten, den VPN-Client des KIT4 . Bei Problemen bezüglich VPN wenden Sie sich an das SCC. • Bei Problemen bezüglich des Praktomat-Systems schreiben Sie Ihre Fragen in das ILIAS-Forum5 .

Plagiarismus • Die Übungsblätter sind selbständig zu bearbeiten. Das Einreichen fremder Lösungen, seien es auch teilweise Lösungen von Dritten, aus Büchern, dem Internet oder anderen Quellen gilt als Täuschungsversuch. Auch die Beihilfe, wie die Weitergabe der eigenen Lösung oder von Teilen davon, wird als Täuschungsversuch gewertet. • Beim ersten Täuschungsversuch wird das komplette Übungsblatt mit 0 Punkten bewertet. Beim zweiten Täuschungsversuch wird der Übungsschein mit „nicht bestanden“ bewertet.

Kommunikation und aktuelle Informationen • Fragen zu Vorlesungsinhalten und Übungsblättern stellen Sie bitte ausschließlich in den ILIAS-Foren 6 . So profitieren auch Ihre Kommilitonen davon. E-Mails mit inhaltlichen Fragen werden aus genau diesem Grund nicht beantwortet, auch nicht von Tutoren. • In den ILIAS-Foren veröffentlichen wir gelegentlich wichtige Neuigkeiten. Diese sind auch per Twitter7 abonnierbar. Eventuelle Korrekturen von Aufgabenstellungen werden auf diesem Weg bekannt gemacht. Das Beobachten der Neuigkeiten wird daher vorausgesetzt.

Tutorien • Zusätzlich zur Vorlesung finden wöchentlich Tutorien statt, die Ihnen sowohl eine Nachbereitung von vergangenen Vorlesungen, als auch eine Besprechung von Übungsblättern anbieten. • Die Tutorien dienen als Ergänzung zum Vorlesungsstoff und gleichzeitig zur Vorbereitung der Abschlussaufgaben. • Die Korrektur und Bewertung Ihrer abgegebenen Lösungen zu den Übungsblättern werden von Ihrem Tutor durchgeführt. 4 http://www.scc.kit.edu/dienste/vpn.php 5 https://ilias.studium.kit.edu/goto.php?target=crs_996576 6 https://ilias.studium.kit.edu/goto.php?target=crs_996576 7 https://twitter.com/IN1INPROG

Seite 3 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

Termine und Anmeldefristen • Praktomat: Die erstmalige Anmeldung im Praktomat hatte bis 04.11.2019, 12:00 Uhr zu erfolgen. • Übungschein: Eine Anmeldung ist zwischen 02.12.2019 - 08.01.2020 jeweils 12.00 Uhr über das Campus Management Portal8 möglich. • Abschlussaufgaben: Eine Anmeldung ist zwischen 11.02.2020 - 20.02.2020 jeweils 12.00 Uhr über das Campus Management Portal möglich. • Disclaimer9 : Abgabe erfolgte über den Programmieren-Briefkasten im Gebäude 50.34, 1. Untergeschoss, bis zum 04.11.2019, 12:00 Uhr.

Abgabehinweise Bitte beachten Sie, dass das erfolgreiche Bestehen der öffentlichen Tests für eine erfolgreiche Abgabe dieses Blattes notwendig ist. Der Praktomat wird Ihre Abgabe zurückweisen, falls einer der nachfolgenden Regeln verletzt ist. Eine zurückgewiesene Abgabe wird automatisch mit null Punkten bewertet. Planen Sie entsprechend Zeit für Ihren ersten Abgabeversuch ein. • Achten Sie auf fehlerfrei kompilierenden Programmcode. • Verwenden Sie keine Klassen der Java-Bibliotheken, ausgenommen Klassen der Pakete java . lang und ja va . io .

Bearbeitungshinweise Diese Bearbeitungshinweise sind relevant für die Bewertung Ihrer Abgabe, jedoch wird der Praktomat Ihre Abgabe nicht zurückweisen, falls eine der nachfolgenden Regeln verletzt ist. • Achten Sie darauf, dass Ihre Abgaben sowohl in Bezug auf objektorientierte Modellierung, als auch Funktionalität bewertet werden. • Programmcode muss in englischer Sprache verfasst sein. • Kommentieren Sie Ihren Code angemessen: So viel wie nötig, so wenig wie möglich. • Die Kommentare sollen einheitlich in englischer oder deutscher Sprache verfasst werden.

8 https://campus.studium.kit.edu/ 9 https://sdqweb.ipd.kit.edu/disclaimer/

Seite 4 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

Abgabemodalitäten Die Praktomat-Abgabe wird am Mittwoch, den 13. November 2019 um 13:00 Uhr, freigeschaltet. Achten Sie unbedingt darauf, Ihre Dateien im Praktomat bei der richtigen Aufgabe vor Ablauf der Abgabefrist hochzuladen. • Geben Sie zu Aufgabe A eine Textdatei mit dem Namen AufgabeA.txt ab. • Geben Sie Ihre Klasse zu Aufgabe B als Java-Datei mit der Dateiendung .java ab. • Geben Sie die korrigierten Klassen zu Aufgabe C als Java-Dateien mit der Dateiendung .java ab. • Geben Sie Ihre Klassen zu Aufgabe D als Java-Dateien mit der Dateiendung .java ab.

Lernziele Der Fokus dieses Übungsblattes liegt in den nachfolgenden Lernzielen aus der Vorlesung, inklusive der Übung. Beachten Sie, dass alle anderen bisherigen Lernziele ebenso gelten. Berücksichtigen Sie daher generell den gesamten bisherigen Inhalt aus Vorlesung und Übung. • Sie können ein einfaches Java-Programm schreiben, kompilieren und ausführen • Sie kennen die Grundelemente eines Java-Programms • Sie können für ein gegebenes Problem Objekte und Klassen identifizieren • Sie können für ein gegebenes Problem Klassen durch Attribute und Methoden beschreiben • Sie können Klassen in Java ausdrücken • Sie können neue Objekte einer Klasse erzeugen

Seite 5 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

A. Aufwärmen (6 Punkte) Beantworten Sie die folgenden Fragen. Schreiben Sie dabei Ihre Lösungen in eine Textdatei mit dem Namen AufgabeA.txt, die Sie auf den Praktomat hochladen. 1. Was muss man machen, um aus einer Datei mit gültigem Java-Code (inklusive einer main-Methode) ein lauffähiges Programm zu erzeugen? 2. Beschreiben Sie kurz den Unterschied zwischen Klassen und Objekten. Gehen Sie dabei darauf ein, welche Aspekte ein Objekt charakterisieren und was von Klassen bei Objekten festgelegt wird. 3. Was nutzt man, um ein neues Objekt zu erzeugen und welches Schlüsselwort nutzt man dabei? 4. Suchen sie für folgenden Funktionalitäten im JavaDoc der Java-API und/oder nutzen Sie eine Suchmaschine. Geben Sie zur Beantwortung dieser Frage lediglich den Methodennamen an. a) Welche Methode der Klasse String liefert zurück, ob die Zeichenkette leer ist, d.h. die Länge des Strings 0 beträgt. b) Welche Methode der Klasse Math kann man nutzen, um eine Gleitkommazahl (einfache Genauigkeit) zur nächsten Ganzzahl zu runden.

B. Mein erstes Javaprogramm (2 Punkte) Diese Aufgabe dient als Einstieg in die Welt des Java-Compilers und des Java-Interpreters, welche Sie beide bereits in der Vorlesung kennen gelernt haben. In Ihrem Tutorium bekommen Sie nähere Informationen über den Java-Compiler und den Java-Interpreter und deren Installation. Schreiben Sie ein kleines Java-Programm, welches die folgenden zwei Sätze jeweils in einer Zeile ausgibt (ohne Anführungszeichen): • „Zum Erhalt eines Uebungsscheins ist eine Anmeldung erforderlich.“ • „Zum Erhalt eines Uebungsscheins sind mehr als 50% der Maximalpunktzahl erforderlich.“ Die Ausgabe soll mittels der Methode System.out.println()10 über den StandardAusgabe-Stream auf der Kommandozeile erfolgen. Es ist ausreichend, wenn Ihre Abgabe aus einer Klasse mit einer main-Methode besteht. Wählen Sie für den Namen Ihrer Klasse einen aussagekräftigen Bezeichner in englischer Sprache und geben Sie die Java-Datei im Praktomat ab.

10 https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println-java.lang.String-

Seite 6 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

C. Fehlersuche (5 Punkte) Schreiben Sie die beiden unten angegebenen Java-Klassen Person und Main zunächst ab. Aufgrund mehrerer syntaktischer Fehler sind diese beiden Klassen allerdings noch nicht kompilierbar. Ihre Aufgabe besteht darin, die syntaktischen Fehler in den beiden Klassen zu finden und diese zu korrigieren, sodass der gesamte Quelltext kompilierbar wird. Beschreiben Sie den Fehler in einem Kommentar über der Codestelle, an der der Fehler ursprünglich war und die Sie nun korrigiert haben. Halten Sie sich auch an die Namenskonventionen in Java. Geben Sie diese beiden korrigierten Klassen als zwei separate Dateien – Main.java und Person.java – im Praktomat ab. 1 class Person { 2 string name; 3 int age; 4 int height // height in centimeter 5 6 Human(String name, int age, height) { 7 this.name = name; 8 this.age == age; 9 this.height = height; 10 } 11 ]

1 class Main { 2 public static void main(String args[]) { 3 person = new Person(42, 176, "Maxi Musterperson"); 4 println(person.name + is + person.heigth + " cm tall."); 5 } 6 }

Seite 7 von 8

Programmieren – Übungsblatt 1

Abgabefrist: 21.11.19, 06:00 Uhr

D. Objektorientierte Modellierung (7 Punkte) In dieser Aufgabe sollen die grundlegenden Klassen für eine (vereinfachte) Feuerwehrstation modelliert werden. Das primäre Ziel ist es, sich mit dem Entwurf und Erstellen von Klassen in Java vertraut zu machen. Darüber hinaus sollen Sie das Hinzufügen von Attributen zu Klassen üben und die Auswahl geeigneter Typen für diese Attribute erlernen. Es geht hierbei um die reine objektorientierte Modellierung der Klassen und ihrer Attribute. Das heißt, Ihre Klassen beinhalten noch keine Konstruktoren oder Methoden. Achten Sie auf den Einsatz von sinnvollen Datentypen und wählen Sie aussagekräftige englischsprachige Bezeichner. Fehlerfrei kompilierender Programmcode bildet die Mindestanforderung für eine gültige Abgabe. Eine Feuerwehrstation besitzt eine Stationsnummer, die ein ganzzahliger Wert ist. Weiterhin hat eine Feuerwehrstation auch immer eine Adresse. Eine Adresse besteht aus einem Straßennamen und einer Stadt, beides Zeichenketten, sowie einer Postleitzahl, die durch eine Ganzzahl repräsentiert wird. Außerdem hat eine Feuerwehrstation immer drei Feuerwehrfahrzeuge. Ein Feuerwehrfahrzeug hat stets eine Typbezeichnung und eine Gleitkommazahl in einfacher Genauigkeit, die die Menge an mitgeführtem Wasser in Liter angibt. Zusätzlich ist einem Feuerwehrfahrzeug ein Selbstständiger Trupp11 zugeordnet. Dieser Selbstständige Trupp besteht aus einem Truppführer, einem Maschinisten und einem Truppmann. Eine solche Person hat einen Namen und die Rangbezeichnung (Truppführer, Maschinist oder Truppmann) und kann über eine ganzzahlige ID identifiziert werden. Außerdem besitzt eine Person ebenso eine Adresse bestehend aus einem Straßennamen und einer Stadt sowie einer Postleitzahl.

11 https://de.wikipedia.org/wiki/Taktische_Einheit#Selbstst%C3%A4ndiger_Trupp

Seite 8 von 8...


Similar Free PDFs