Vorbereitende Aufgaben

Ähnliche Dokumente
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Allgemeine Informationen zum Praktikum

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Allgemeine Informationen zum Praktikum

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

FAKULTÄT FÜR INFORMATIK

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

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

Repetitorium Informatik (Java)

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik

Programmieren in Java

1 Klassen und Objekte

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

2. Vererbung und Kapselung

pue13 January 28, 2017

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

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

Einführung in die Java- Programmierung

Objektorientierte Programmierung Studiengang Medieninformatik

Programmieren in Java -Eingangstest-

Klausur Software-Entwicklung März 01

Praktische Informatik I Wintersemester 2005/2006 Abgabe: 23. November 2005

Informatik 1 MaVt FS Übung 10

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

1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)

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

Informatik I (D-MAVT)

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

Ausgabe: :00 Abgabe: :00. Sie müssen bei Ihren Lösungen eine maximale Zeilenbreite von 120 Zeichen einhalten.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Institut für Informatik und Angewandte Kognitionswissenschaften

Überblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele

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

Objektorientierung (OO)

4. Objektorientierte Programmierung mit C++

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

pue08 December 9, 2016

Institut für Informatik

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Abgabe: (vor 24 Uhr)

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt

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

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

Tutoraufgabe 1 (Überladen von Methoden):

Javakurs für Anfänger

Objektorientierte Programmierung

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

Umsetzung einer Klassenkarte in einer Programmiersprache

C++ - Objektorientierte Programmierung Konstante und statische Elemente

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Grundlagen der Informatik 0

Abgabe: (vor 12 Uhr)

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Allgemeine Informationen zum Praktikum

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Programmierung WS 2016/17. Übungsblatt 9: Objekt-orientierte Programmierung

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

7.0 Arbeiten mit Objekten und Klassen

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

Übungen zur Vorlesung EINI (WS 2010) Blatt 11

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

Objektorientierung II

Algorithmen und Datenstrukturen 06

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Institut für Informatik

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Probeklausur: Programmierung WS04/05

Java für Bauingenieure

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

Wissenschaftliches Rechnen

Tag 4 Repetitorium Informatik (Java)

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

PIWIN 1 Übung Blatt 5

Fragen zur OOP in Java

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Softwareentwicklung Lösungen zu Programmierung von Klassen mit BlueJ

Javakurs für Anfänger

Objektorientierte Programmierung

Name: Seite 1. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

13. Bäume: effektives Suchen und Sortieren

Klausur "ADP" SS 2016

Javakurs für Anfänger

Formeln für Formen 4. Flächeninhalt. 301 Berechne die Höhe h von einem Rechteck, einem Parallelogramm und einem Dreieck, die jeweils den Flächeninhalt

Transkript:

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt 9 Besprechung: 11. 15.01.2016 (KW 2) Vorbereitende Aufgaben Aufgabe 9.1: Bäume In dieser Aufgabe sollen Sie sich mit Bäumen beschäftigen. a) Quizfragen: Wie nennt man den Knoten ohne Vater? Wie nennt man einen Knoten x, der direkter Nachfolger eines Knoten y ist? Wie nennt man einen Knoten ohne Nachfolger? b) Gegeben sei ein binärer Baum in Form eines Arrays: 5 3 7 2 4 9 8 Geben Sie die grafische Repräsentation des Baumes an: c) Handelt es sich bei diesem Baum um einen Heap? Wenn nein, warum nicht? Übungsblatt 9 Seite 1 von 5

Präsenzaufgaben Aufgabe 9.2: Heaps In dieser Aufgabe sollen Sie ihre Kenntnisse über Heaps anwenden, um eine sortierte Folge von Zahlen auszugeben. Leeren Sie den angegebenen Heap, indem Sie, wie in der Vorlesung (Kapitel 5.2) beschrieben, das kleinste Element entfernen. Geben Sie eine Baumrepräsentation des Heaps nach jeder Extraktion des Minimums und nach jedem Tausch während der Heapify-Operation an: 1 3 6 4 5 8 9 Übungsblatt 9 Seite 2 von 5

Aufgabe 9.3: Einführung in die Objektorientierung In dieser Aufgabe sollen Sie ein geometrisches Objekt mithilfe objektorientierter Programmierung modellieren. Beantworten Sie zuvor die folgende Frage: Mit welchem Schlüsselwort können neue Objekte mit ihrem Konstruktor instanziiert werden? Gegeben ist die Klasse Sphere. Diese beschreibt eine geometrische Kugel anhand ihres Radius. Ergänzen Sie die vermerkten Stellen im Quellcode der Klasse, indem Sie den Inhalt zuerst in einer eigenen Quelldatei im Paket blatt09 übernehmen und dann anpassen. 1 package blatt09; 2 3 public class Sphere { 4 5 public static double PI = 3.14159265359; 6 7 private double radius; 8 9 public Sphere(double givenradius) { 10 /* Initialisiere das radius-attribut 11 * mit dem Parameter des Konstruktors */ 12 } 13 14 public double getradius() { 15 return radius; 16 } 17 18 public double getdiameter() { 19 /* Ergaenzen: Den Durchmesser der Kugel zurueckgeben */ 20 } 21 22 public double getvolume() { 23 /* Ergaenzen: Das Volumen der Kugel zurueckgeben */ 24 } 25 26 public double getsurfacearea() { 27 /* Ergaenzen: Die Oberfaeche der Kugel zurueckgeben */ 28 } 29 } Übungsblatt 9 Seite 3 von 5

Aufgabe 9.4: Klassen selbst definieren In dieser Aufgabe sollen Sie weitere geometrische Objekte mithilfe objektorientierter Programmierung modellieren. Erstellen Sie eine Klasse namens Cuboid im Paket blatt09. Diese repräsentiert einen geometrischen Quader. Deklarieren Sie drei private Attribute vom Typ double mit den Namen length, width und height. Deklarieren Sie einen öffentlichen Konstruktor für diese Objekte, der drei Parameter für die Maße entgegennimmt. Im Konstruktor sollen Sie die Attribute des Objektes auf die übergebenen Werte setzen. Schreiben Sie drei öffentliche Methoden namens getlength, getwidth und getheight, die die drei Attribute zurückgeben. Schreiben Sie eine öffentliche Methode namens getvolume, die das Volumen des Quaders berechnet und zurückgibt. Schreiben Sie eine öffentliche Methode namens getsurfacearea, die die Oberfläche des Quaders berechnet und zurückgibt. Aufgabe 9.5: Klassentest In dieser Aufgabe sollen Sie das Testen und die Verwendung von Klassen in separaten Testklassen erproben. Bisher sollten Sie in keiner der erstellten Geometrieklassen eine main-methode geschrieben haben. Entsprechend konnten Sie Ihren Quellcode noch nicht ausführen. Schreiben Sie eine Klasse GeometryTest im Paket blatt09 mit einer main-methode. Deklarieren und initialisieren Sie in der main-methode folgende Objekte: Drei Objekte vom Typ Sphere mit den Radien 1, 3 und 12 Drei Objekte vom Typ Cuboid mit den Maßen (1 1 1), (3π 3 4) und (2 3 7) Lassen Sie sich einige Testwerte ausgeben und überprüfen Sie sie. Testen Sie überdies, ob das Volumen des zweiten Würfels identisch ist mit dem Volumen der zweiten Kugel. Begründen Sie, weshalb Sie die Gleichheit der Volumina annehmen können. Warum könnte der Wert dieser Berechnungen unterschiedlich sein? Übungsblatt 9 Seite 4 von 5

Ergänzende Aufgaben Aufgabe 9.6: Überladene Methoden Achtung: Hier wird auf Stoff der nächsten Vorlesung vorgegriffen. Dennoch sollten Sie diese Aufgabe mit ihrem bisherigen Wissen bearbeiten können. In dieser Aufgabe sollen Sie Methoden programmieren, die die bisher geschriebenen Objekte miteinander vergleichen können. Ergänzen Sie die beiden Klassen Sphere und Cuboid um jeweils zwei öffentliche Methoden mit dem Namen compare und dem Rückgabetyp int. Die Methoden sollen sich nur in ihrem Parameter unterscheiden: Die eine soll eine Kugel, die andere einen Quader entgegennehmen. Die Methoden sollen das aufrufende Objekt mit dem übergebenen Objekt vergleichen: Das Vergleichskriterium ist ihr Volumen. Die Methoden sollen einen Wert größer 0 zurückgeben, wenn das aufrufende Objekt größer ist, als das andere. Die Methoden sollen einen Wert kleiner 0 zurückgeben, wenn das aufrufende Objekt kleiner ist als das andere. Die Methoden sollen 0 zurückgeben, wenn die Volumina der beiden Objekte gleich sind. Übungsblatt 9 Seite 5 von 5