1. Testklausur Sommersemester 2013 Datenstrukturen und Algorithmen 24. Mai 2013

Ähnliche Dokumente
Klausur Sommersemester 2012 Datenstrukturen und Algorithmen 24. September 2012

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

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

Klausur Einführung in die Informatik I für Elektrotechniker 16. Juli 2003

Einführung in die Informatik

Prüfung Algorithmen und Datenstrukturen I

Einfach verkettete Liste

Objekt-Orientierte Programmierung. II/Wb17

Matrikelnummer: 1 Aufgabe 1: Quickies (30 Punkte) a) Wird das folgende Programm von einem Java-Übersetzer ohne Beanstandungen übersetzt? Falls nicht,

Datenstrukturen und Algorithmen

Allgemeine Hinweise:

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 132

Prüfung Softwareentwicklung II (IB)

Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur zur Vorlesung

Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind.

Klausur: Java (Liste P)

Realisierungsmöglichkeiten für parametrische Polymorphie

Klausur - Informatik I SS 05. Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel

Informatik Abitur Bayern 2017 / II - Lösung

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Prüfung Algorithmen und Datenstrukturen I

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

Semestralklausur Informatik I - Programmierung

Einführung in die Programmierung. (K-)II/Wb17

Vorname:... Matrikel-Nr.:... Unterschrift:...

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

5. Lesen Sie vor der Bearbeitung einer Aufgabe den gesamten Aufgabentext sorgfältig durch!

Prüfung Softwareentwicklung II (IB)

Prof. Dr. Uwe Schmidt. 30. Januar 2017

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 2

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

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Allgemeine Informatik II SS :30-13:30 Uhr

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten

Klausur Programmieren 2 SS 2016

Programmiermethodik 3. Klausur Lösung

Klausur Einführung in die Informatik II für Elektrotechniker 16. Juli 2003

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Testklausur 2 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten

Vorlesung Objektorientierte Programmierung Klausur

Javakurs für Anfänger

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

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

Fallstudie: Online-Statistik

Scheinklausur zur Vorlesung Praktische Informatik I. 12. November Punkteübersicht

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

Abiturprüfung Informatik, Grundkurs

Unterlagen für die Lehrkraft. Abiturprüfung Informatik, Grundkurs

Probeklausur. Klausurdeckblatt. Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 26. Februar 2015, Uhr

Algorithmen & Datenstrukturen 2 Praktikum 1

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8

Prüfung A Informatik D-MATH/D-PHYS :15 14:55

Algorithmen und Datenstrukturen CS1017

Einführung in die Informatik 1

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2)

Klausur "ADP" SS 2015

Allgemeine Hinweise:

Klausur Algorithmen und Datenstrukturen I SS 03

Allgemeine Informatik II SS :30-11:30 Uhr

Software Entwicklung 1

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper

Grundlagen der Informatik

Wiederholungsklausur "ADP" WS 2016/2017

FAKULTÄT FÜR INFORMATIK

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

2. Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 30. März Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

13. Bäume: effektives Suchen und Sortieren

Übung Algorithmen und Datenstrukturen

1. Abstrakte Klassen

Programmieren in Java -Eingangstest-

Klausur Grundlagen der Programmierung

13. Bäume: effektives Suchen und Sortieren

Klausur Programmieren 2 WS 2017/18

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

3. Übungsblatt zu Algorithmen I im SoSe 2017

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap

Matrikelnummer:

Unveränderliche Klassen

Analyse und Modellierung von Informationssystemen

Wiederholung der Endklausur am 24. September 2013

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Probe-Klausur Software Engineering Fachbereich BW, für WINFO

Kurs 1661 Datenstrukturen I Klausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I

Prof. Dr. Uwe Schmidt. 2. Februar Aufgaben zur Klausur C und Objektorientierte Programmierung im WS 2009/10 (WI h103, II h105, MI h353)

Praxis der Programmierung

Einführung in die Programmierung und Programmiersprachen (OOP)

Allgemeine Hinweise:

Institut für Informatik

Bachelorprüfung: Objektorientierte Softwareentwicklung

Prüfung Programmieren / Algorithmen & Datenstrukturen 1 Belegnummer , Wintersemester

Transkript:

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker 1. Testklausur Sommersemester 2013 Datenstrukturen und Algorithmen 24. Mai 2013 Bevor Sie mit der Bearbeitung dieser Klausur beginnen, lesen Sie bitte folgende Hinweise. Diese Hinweise sind bei der Bearbeitung zu beachten. 1. Prüfen Sie die Vollständigkeit Ihres Exemplars. Es sollte dieses Hinweisblatt und vier Aufgaben auf vier Blättern umfassen. 2. Tragen Sie auf jedem Lösungsblatt oben an den vorgesehenen Stellen Ihren Namen und Ihre Matrikelnummer ein. Blätter ohne diese Angaben werden nicht bewertet. Hinter den Aufgaben ist jeweils hinreichend Platz für die Lösungen freigelassen. Reicht der Platz nicht aus, benutzen Sie die Rückseiten, wobei die Zuordnungen von Lösungen zu Aufgaben deutlich erkennbar sein müssen. 3. Geben Sie dieses Deckblatt zusammen mit den Aufgabenstellungen und den Lösungen sowie alles weitere beschriebene Papier ab. 4. Zugelassene Hilfsmittel: keine 5. Mit 30 Punkten haben Sie die Klausur bestanden. 6. Ergebnis (bitte nichts eintragen): 1 (15) 2 (15) 3 (10) 4 (20) Punkte (60) Viel Erfolg!

Aufgabe 1 (15 Punkte) Ein Versandhandelsgeschäft verkauft Bücher und DVDs. Nur solche Objekte sollen erzeugt werden können. Sowohl Bücher als auch DVDs haben eine Bezeichnung, einen Nettoverkaufspreis, einen Bruttoverkaufspreis und einen Mehrwertsteuersatz. Für Bücher ist zusätzlich der Autor bekannt, für DVDs der Regisseur. Der Bruttoverkaufspreis errechnet sich aus dem Nettoverkaufspreis plus Mehrwertsteuer. Für Bücher fallen stets 7% Mehrwertsteuer (vom Nettoverkaufspreis) an, für DVDs 19%. Definieren Sie Java-Klassen, die die oben genannten Punkte angemessen umsetzen. Stellen Sie dabei Methoden bereit, um die Bezeichnung zu ermitteln, den Nettoverkaufspreis zu setzen, den Nettoverkaufspreis zu ermitteln, den Bruttoverkaufspreis zu ermitteln, den Mehrwertsteuersatz zu ermitteln und Bücher bzw. DVDs als Zeichenkette zu repräsentieren (MethodetoString()).

Aufgabe 2 (4+4+4+3=15 Punkte) Gegeben sei die folgende KlasseCounter: public class Counter { private int value = 0; public void increment() { this.value++; } } public int get() { return this.value; } Für eine Anwendung benötigen wir die folgende Funktionalität: Immer wenn für einen Counter die Methode increment() aufgerufen wird, soll ein anderes Objekt (ein sogenannter Observer) darüber benachrichtigt werden. Der Observer soll nicht aus einer bestimmten Klasse stammen müssen. Außerdem muss sich der Observer vorher beim Counter registrieren. (a) Definieren Sie eine Schnittstelle für die Benachrichtigung des Observers. (b) Implementieren Sie die Schnittstelle aus (a) beispielhaft. (c) Ändern Sie die Implementierung von Counter so ab, dass sich ein Observer für die Benachrichtigung registrieren kann und im Falle eines Aufrufs von increment() auch benachrichtigt wird. (d) Wie würden Sie (c) lösen, wenn Sie den Quelltext von Counter nicht anpassen könnten (z.b. weil die KlasseCounter aus einer fremden Bibliothek stammt).

Aufgabe 3 (2+4+4=10 Punkte) (a) Nennen Sie eine geprüfte (ausgenommenexception) und eine ungeprüfte Exception- Klasse. (b) In der Methode foo(int a) soll die geprüfte Exception ExceptionX ausgelöst werden, wenn der Methodenparameter a negativ ist. Skizzieren Sie den Aufbau der Methode foo(int a). (c) Die Methode foo(int a) soll innerhalb der Methode bar() aufgerufen werden. Stellen Sie dar, welche Möglichkeiten Sie in bar() haben, um mit der Exception, die von foo möglicherweise ausgelöst wird, umzugehen.

Aufgabe 4 (20 Punkte) Wir wollen eine generische Liste implementieren, in der die enthaltenen Objekte aufsteigend sortiert verwaltet werden. Das erste Element der Liste ist also stets ein kleinstes Element, das letzte ein größtes Element. Die sortierte Liste soll einfach verkettet sein und die folgenden Methoden bereitstellen: insert: Füge ein neues Element in die Liste ein. Das Element muss gemäß der Sortierung an der richtigen Stelle in der Liste platziert werden. deletemin: Lösche das kleinste Element. getmin: Ermittle das kleinste Element der Liste. print: Gib die komplette Liste sortiert aus. Geben Sie die Klasse komplett an (Klassenrahmen, innere Klassen, Instanzvariablen, Methodenköpfe und Implementierungen).