Klausur: Programiermethoden und Techniken

Ähnliche Dokumente
Bachelorprüfung: Programmieren I

Probeklausur: Programmieren I

Bachelorprüfung: Objektorientierte Softwareentwicklung

Klausur: Programmieren II

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Bachelorprüfung: Objektorientierte Softwareentwicklung

Klausur: Java (Liste P)

Klausur: Java (Liste P)

Allgemeine Hinweise:

Allgemeine Hinweise:

Klausur "ADP" SS 2015

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

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

Objektorientierte Programmierung

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6

Probeklausur: Programmierung WS04/05

Programmieren in Java -Eingangstest-

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!

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

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Prof. Dr. Uwe Schmidt. 17. August Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353)

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

Klausur Grundlagen der Programmierung

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

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

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

Allgemeine Informatik II

Allgemeine Hinweise:

Tag 8 Repetitorium Informatik (Java)

Software Entwicklung 1

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

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

Objektorientierte Anwendungsentwicklung

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Martin Unold INFORMATIK. Geoinformatik und Vermessung

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

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

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

Allgemeine Hinweise:

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

II.4.4 Exceptions - 1 -

Programmieren in C. Rekursive Strukturen. Prof. Dr. Nikolaus Wulff

Technische Universität Braunschweig

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Objektorientierte Programmierung Studiengang Medieninformatik

Erste Java-Programme (Arrays und Schleifen)

Wiederholungsklausur "ADP" WS 2016/2017

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Kapitel 5: Iterierbare Container

Allgemeine Informatik 2 im SS 2007 Programmierprojekt

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

Datenstrukturen. Mariano Zelke. Sommersemester 2012

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

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

Felder. Inhaltsverzeichnis. M. Jakob. 28. April Begriffsbildung. Verwendung von Feldern. Gymnasium Pegnitz

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Programmieren in Java

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

Felder. M. Jakob. 28. April Gymnasium Pegnitz

Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester 2004/2005

7.0 Arbeiten mit Objekten und Klassen

Stacks, Queues & Bags. Datenstrukturen. Pushdown/Popup Stack. Ferd van Odenhoven. 19. September 2012

Programmierkurs Java

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003

Java: Vererbung. Teil 3: super()

Objektorientierte Programmierung

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Prüfung Softwareentwicklung II (IB)

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

Klausur. Informatik 1 Wintersemester 2005/2006 Prof. Dr. Wolfgang May 4. April 2006, Uhr Bearbeitungszeit: 90 Minuten

Klausur Software-Entwicklung März 01

Einführung in die Programmierung

Übung Praktische Informatik I

Einführung in C. EDV1-04C-Einführung 1

Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt

Institut für Informatik

Probeklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2017/18

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

Klausur "ADP" WS 2013/2014

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2015/16

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren

Kapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java

Abschnitt 11: Beispiel: Die Klasse String (Teil 1)

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Konstruktor/Destruktor

Beispielprüfung CuP WS 2015/2016

Allgemeine Informatik II SS :30-11:30 Uhr

Informatik I (D-MAVT)

Einführung in die Programmierung

Klausur zur Vorlesung Einführung in die Programmierung

Transkript:

Klausur: Programiermethoden und Techniken WS12/13 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie den Studentenausweis auf den Tisch. Bearbeitungszeit: 90 Minuten Unterschrift Benotung Aufgabe: 1 2 3 4 5 Gesamt Note Punkte: 20 20 20 20 20 100 erreicht: WS12/13 Klausur: Programiermethoden und Techniken (Seite 1) 6.2.2013

Aufgabe 1 (XML) (20 Punkte) a) Schreiben Sie mit dem DOM API folgende Methode: public static int maxwidth(org.w3c.dom.node node); Sie soll die maximale Anzahl, die ein Knoten des übergebenen XLM-Baums als Kindknoten hat, zurück geben. b) Schreiben Sie mit dem DOM API folgende Methode: public static void getnames(node node, Set<Node> result) Alle Tagnamen von Elementen im übergebenen XML-Baum sollen in die Menge result eingefügt werden. c) Schreiben Sie einen XPath-Ausdruck, der alle Elementknoten mit dem Tagnamen kapitel aus einem Dokument selektiert, die das Attribut @titel mit dem Wert "Einführung" haben. WS12/13 Klausur: Programiermethoden und Techniken (Seite 2) 6.2.2013

WS12/13 Klausur: Programiermethoden und Techniken (Seite 3) 6.2.2013

Aufgabe 2 (20 Punkte) (Iteratoren in Java) In dieser Aufgabe sollen Sie zwei Klassen schreiben, die die Schnittstelle Iterator implementieren. Die Methode remove soll dabei vernachlässigt werden. a) Schreiben Sie eine Klasse StringCharacterIterator. Die Klasse soll die Schnittstelle Iterator<Character> implementieren. Es soll einen Konstruktor StringCharacterIterator(String str) geben. Der Iterator soll beim Aufruf von next alle Zeichen des Strings str nacheinander zurück geben. WS12/13 Klausur: Programiermethoden und Techniken (Seite 4) 6.2.2013

b) Gegeben sei die folgende Schnittstelle: 1 interface Function<A>{ 2 A apply(a e); 3 } Function.java Schreiben Sie eine Klasse MapIterator<A>, die Iterator<A> implementiert. Es soll einen Konstruktor der folgenden Form geben: MapIterator(Iterator<A> orgiterator, Function<A> f) Der so erzeugte Iterator soll beim Aufruf von next jeweils nacheinander die Elemente des Iterators orgiterator zurück geben, allerdings nicht das Element von orgiterator direkt, sondern das Ergebnis von der Methode f.apply(next()). WS12/13 Klausur: Programiermethoden und Techniken (Seite 5) 6.2.2013

Aufgabe 3 (20 Punkte) (Strings in C) Gegeben sei die folgende Struktur, die String-Objekte realisiert: 1 typedef struct{ 2 unsigned int length; 3 char* data; 4 } String; String.c Schreiben Sie folgende Funtionen in C: a) int indexoffirstvowel(string this) Es soll der Index im String zurück gegeben werden, an dem sich der erste Vokal befindet. Ein Vokal ist eines der frolgenden Zeichen: aaoouueeii. Wenn kein Vokal im String ist, soll -1 zurück gegeben werden. WS12/13 Klausur: Programiermethoden und Techniken (Seite 6) 6.2.2013

b) String rotate(string this) Es soll ein neuer String erzeugt werden, der aus dem Parameter this gebildet wird, in dem der letze Buchstabe des Ausgangsstrings der erste im Ergebnis wird und jeder weitere Buchstabe einen Index nach hinten rutscht. Beispiel: rotate({"hallo",5}) = {"ohall",5} WS12/13 Klausur: Programiermethoden und Techniken (Seite 7) 6.2.2013

Aufgabe 4 Entwerfen Sie in dieser Aufgabe eine kleine Bibliothek zur Darstellung von Punkten im zweidimensionalen Raum. Ein Punkt habe dabei eine x-und eine y-koordinate, die durch eine Fließkommazahl dargestellt werden soll.. a) Schreiben Sie eine geeignete Struktur struct Punkt für die Bibliothek. b) Schreiben Sie eine geeignete Konstruktorfunktion, mit der ein Zeiger auf ein Punktdatenobjekt erzeugt und dieses Objekt initialisiert wird. WS12/13 Klausur: Programiermethoden und Techniken (Seite 8) 6.2.2013

c) Schreiben Sie eine Funktion, die ein Punktobjekt sowohl in x- als auch in y-richtung um einen Faktor verschiebt. d) Schreiben Sie eine Funktion, die zwei Punktobjekte als Parameter erhält und testet, ob der zweite Punkt auf der x-achse weiter rechts als der erste Punkt liegt. WS12/13 Klausur: Programiermethoden und Techniken (Seite 9) 6.2.2013

Aufgabe 5 (20 Punkte) Erklären Sie in kurzen Worten. a) Was ist der Unterschied zwischen einen InputStream und einem Reader in Java. b) Was passiert im Speicher, wenn in Java der Operator + auf zwei Strings ausgeführt wird. WS12/13 Klausur: Programiermethoden und Techniken (Seite 10) 6.2.2013

c) Was findet sich im Java Paket org.w3c.dom. Erklären Sie die Gründe. d) Was genau ist ein Array in C. Wie unterscheidet sich das zu Arrays in Java? WS12/13 Klausur: Programiermethoden und Techniken (Seite 11) 6.2.2013

e) Wenn man in C eine Liste programmieren möchte, die möglichst generisch für unterschiedliche Daten funktioniert, wie könnte man vorgehen? f) Was ist ein typedef und welchen Nutzen hat dieses Konstrukt in C? WS12/13 Klausur: Programiermethoden und Techniken (Seite 12) 6.2.2013