hue13 January 30, 2017

Ähnliche Dokumente
hue12 January 24, 2017

hue06 December 2, 2016

hue04 November 18, 2016

hue10 January 15, 2017

hue05 November 25, 2016

hue03 November 11, 2016

hue07 December 9, 2016

hue08 December 16, 2016

<br > <br >

pue02 October 28, 2016

Einführung in die Programmierung für NF MI. Übung 07

Fakultät IV Elektrotechnik/Informatik

Vorkurs Informatik WiSe 15/16

Javakurs für Anfänger

Übung Programmierung WS 2007/08 - Blatt 6

Die Klasse java.lang.object. Thorsten Treffer

Javakurs für Anfänger

Implementieren von Klassen

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Allgemeine Hinweise:

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Programmierung Nachklausurtutorium

Javakurs für Anfänger

Algorithmen und Datenstrukturen 07

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

Javakurs für Anfänger

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Musterlösung Stand: 5. Februar 2009

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Probeklausur Informatik 2 Sommersemester 2013

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Tutoraufgabe 1 (Seiteneekte):

Umsetzung einer Klassenkarte in einer Programmiersprache

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Teil 2: Weitere Aspekte der Objektorientierung

Semestralklausur Informatik I - Programmierung

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Programmierkurs Java

Einführung in die Uni-Rechnerstruktur / Jupyter Alexander Setzer Grundlagen der Programmierung 1

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

2. Unterprogramme und Methoden

AuD-Tafelübung T-B5b

Probeklausur: Programmierung WS04/05

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Tutorial zu Einführung in die Informatik für LogWi- Ings und WiMas Wintersemester 2015/16. 1 Zauberer und Zwerge, Aufgabenteil 1

14. Java Objektorientierung

Programmieren in Java

Java für Bauingenieure

Computeranwendung und Programmierung (CuP)

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Programmieren in Java -Eingangstest-

Übungsblatt 4. Java Vorkurs (WS 2015)

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

7. Objektorientierung. Informatik II für Verkehrsingenieure

12 Abstrakte Klassen, finale Klassen und Interfaces

Institut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Datum, Uhrzeit: , Uhr Semester: IN1 Note:... Prof. Dr. G. Meixner

Prüfung Softwareentwicklung II (IB)

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

14 Abstrakte Klassen, finale Klassen, Interfaces

Universität Karlsruhe (TH)

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces

Klausur: Java (Liste P)

Algorithmen und Datenstrukturen Sommersemester Übung Abgabe bis , 10:00 Uhr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und

Übungen zum Bioinformatik-Tutorium. Blatt 3

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete

Allgemeine Informatik II SS :30-11:30 Uhr

Institut für Programmierung und Reaktive Systeme 6. November Programmieren I. 3. Übungsblatt

Einstieg in die Informatik mit Java

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

14. Java Objektorientierung

Die Welt in unseren Programmen false -1.4E-12. false. Klassen

Informatik II. Woche 13, Giuseppe Accaputo

Objektorientiertes Programmieren (Java)

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Übungsblatt 1. Java Vorkurs (WS 2017)

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Institut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

Methoden und Wrapperklassen

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Vorlesung Datenstrukturen

Transkript:

hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern Tragen Sie Ihre Matrikelnummern und E-Mail-Adressen zeilenweise in die Zelle oberhalb dieser Zelle ein. Achten Sie dabei streng auf die Formatierung, denn die Auswertung erfolgt automatisch. Benutzen Sie keine Leerzeilen. Zwischen Matrikelnummer und E-Mail-Adresse muss genau ein Leerzeichen stehen; sonst keine Leerzeichen, Tabs, Spiegelstriche, oder ähnliches in einer Zeile. Wir empfehlen dringend die Benutzung der Uni-Paderborn E-Mail-Adressen! Format: MatrikelNummer E-Mail-Adresse MatrikelNummer2 E-Mail-Adresse2 z.b.: 123456 teststudent@mail.upb.de 234567 teststudent2@mail.upb.de 345678 vorname.nachname@mail.upb.de Hinweis: Wenn Sie das so in die obere Zelle eingeben, wird in der ausgeführten Markdownzelle (Strg+Enter) alles in einer Zeile angezeigt. Das ist egal; wichtig ist Formatierung der Eingabe. 1.2 Abgabe mit Gruppenaccount Die Abgabe muss mit Ihrem Gruppenaccount erfolgen (gp1_16_... ), den Sie in der Präsenzübung erhalten haben! Abgaben, die über Ihren Einzelaccount erfolgen, werden ignoriert. 1.3 Abgabe: Submit Es reicht nicht, nur das Übungsblatt zu verändern. Sie müssen unter Assignments auf Submit clicken (oder entsprechend über die Kommandozeile), für das entsprechende Übungsblatt! (Wenn Sie Blatt 13 abgeben wolllen hilft es nicht, bei Blatt 1 auf Submit zu drücken!) Für Details siehe Beschreibung Abgabeprozess. 1

1.4 Dateinamen Geben Sie Ihre Lösung in der vom Server erhaltenen Datei hue13.ipynb ab (nicht umbenennen, keine Kopie erstellen, keine anderen Dateien in das Verzeichnis legen). Sonst kann eine Bewertung nicht stattfinden. 1.5 Struktur des Notebooks Fügen Sie keine Zellen hinzu und löschen Sie keine Zellen. Ändern Sie nicht den Typ einer Zelle. Geben Sie Lösungen nur in den Lösungszellen ab. Änderungen in den anderen Zellen werden nach Abgabe automatisch rückgängig gemacht. 2 Abgabetermin: 09.02.2017 um 12:00 Uhr (ACHTUNG! Donnerstagmittag!) 3 Aufgabe 1: Entwerfen und implementieren Sie in Java eine Klasse namens Kreis, die folgende Eigenschaften erfüllt: - sie besitzt die Attribute x, y, radius, kreisfarbe und fuellfarbe - sie besitzt einen Konstruktor, an den Initialwerte aller Attribute übergeben werden können - sie besitzt für jedes der Attribute getter-methoden - sie besitzt eine Methode verschiebe(deltax, deltay), welche die Attribute x und y um deltax bzw. deltay verschiebt. Wählen Sie geeignete Typen für Attribute, Parameter und Rückgabetypen und begründen Sie die Wahl jedes (!) dieser Typen mit einem Kommentar. 4 Aufgabe 2: 4.1 a) Betrachten Sie den Java-Code in der folgenden Zelle: In [ ]: class C { int a; static int b; void method() { a++; b++; void printattrs() { System.out.println("a: " + a); System.out.println("b: " + b); 2

C c1 = new C(); C c2 = new C(); c1.method(); c2.method(); c2.printattrs(); Erklären Sie, weshalb die Attribute a und b von c2 unterschiedliche Werte haben. 4.2 b) Betrachten Sie den Java-Code in der folgenden Zelle: In [ ]: class Drucker { public void verarbeite_druckauftrag() { //... drucke(); public void drucke() { System.out.println("Der Drucker druckt ganz rudimentär."); class Farbdrucker extends Drucker { public void drucke() { System.out.println("Der Drucker druckt in Farbe."); Farbdrucker fd = new Farbdrucker(); fd.verarbeite_druckauftrag(); Erklären Sie, weshalb die Methode drucke() von Farbdrucker (und nicht von Drucker) aufgerufen wird. 4.3 c) Angenommen, folgender Code würde anschließend ausgeführt: Drucker d = (Drucker)fd; d.verarbeite_druckauftrag(); Würde hierdurch eine andere Ausgabe erzeugt? Begründen Sie! 3

4.4 d) Betrachten Sie folgenden Java-Code: class Ober { private int a; String b; protected double c; public boolean d; private int m(int x) { return x + 1; void n() { System.out.println("m(2) ist: " + m(2)); protected int tonumber(string snum) { return Integer.parseInt(sNum); public double blubb() { return a; class Unter extends Ober { //... Auf welche Attribute und Methoden der Klasse Ober kann innerhalb von Methoden, die in der Klasse Unter definiert werden, zugegriffen bzw. nicht zugegriffen werden? Begründen Sie für jedes Attribut / jede Methode einzeln. 5 Aufgabe 3: 5.1 a) Schreiben Sie folgende zwei Klassen: 1) Eine abstrakte Klasse namens Lebewesen, die folgende Attribute und Methoden besitzt: ein int-attribut namens alter, eine abstrakte Methode namens pruefealter() mit einem boolean als Rückgabetyp und eine Methode altere() (ohne Rückgabewert), in welcher das Alter um eins erhöht wird, sofern ein Aufruf der Methode pruefealter() true zurückgibt. 4

2) Eine Klasse namens Mensch, welche eine konkrete Unterklasse der Klasse Lebewesen ist: die Methode pruefealter() soll in ihr true zurückgeben, wenn alter mindestens 0 und höchstens 150 ist (sie muss sonst keine weiteren Attribute / Methoden enthalten). 5.2 b) Schreiben Sie ein Interface namens StringBeobachter. Es soll eine Methode namens benachrichtige mit den Parametern id (int) und neuerwert (String) beinhalten, welche keinen Wert zurückgibt. Schreiben Sie anschließend eine Klasse Anzeige, welche dieses Interface implementiert. Bei Aufruf der Methode sollen beide Parameter auf der Konsole ausgegeben werden. 5.3 c) Beschreiben Sie in eigenen Worten, was in Java (abgesehen von der Syntax) die Unterschiede zwischen Interfaces und abstrakten Klassen sind. 5