Klausurdeckblatt. Name: Studiengang: Matrikelnummer:

Größe: px
Ab Seite anzeigen:

Download "Klausurdeckblatt. Name: Studiengang: Matrikelnummer:"

Transkript

1 Klausurdeckblatt Name der Prüfung: Objektorientierte Programmierung mit C++ Datum und Uhrzeit: 2. März 2017, Uhr Prüfer: Dr. Andreas F. Borchert Bearbeitungszeit: 120 Min. Institut: Numerische Mathematik Vom Prüfungsteilnehmer auszufüllen: Name: Studiengang: Matrikelnummer: Vorname: Abschluss: Datum, Unterschrift des Prüfungsteilnehmers Probeklausur Hiermit erkläre ich, dass ich prüfungsfähig bin. Sollte ich aufgrund fehlender Anmeldung über das Hochschulportal oder über das Studiensekretariat nicht auf der Liste der angemeldeten Studierenden aufgeführt sein, dann nehme ich hiermit zur Kenntnis, dass diese Prüfung nicht gewertet werden wird. Hinweise zur Prüfung: siehe nächstes Blatt Bitte dieses Feld für den Barcode freilassen! Erlaubte Hilfsmittel: Bis zu fünf handgeschriebene Blätter. Vom Prüfer auszufüllen: Erreichte Punkte: Note: Datum, Unterschrift Prüfer (Dr. Andreas F. Borchert)

2 Prüfen Sie zu Beginn, ob Ihre Klausur vollständig ist beginnend von der Aufgabe 1 auf Seite 0(!) bis zur letzten Seite 22. Für Ihre Lösungen verwenden Sie bitte den freigelassenen Platz nach der Aufgabenstellung, die gegenüberliegende Seite der jeweiligen Aufgabe oder die angehängte leere Seite unter Angabe der Aufgabennummer. Nennen Sie möglichst alle Annahmen, die Sie gegebenenfalls für die Lösung einer Aufgabe treffen! Sofern nichts anderes angegeben ist, können Sie bei den Programmier-Aufgaben auf die Angabe der notwendigen #include-anweisungen verzichten. Wenn es bezüglich der Aufgabenstellung Unklarheiten gibt, dann scheuen Sie sich bitte nicht, jemanden von der Aufsicht zu befragen. Wenn wir während der Klausur feststellen, dass eine Aufgabenstellung missverständlich ist, werden wir an der Tafel einen klärenden Hinweis für alle sichtbar hinschreiben. Hinweise zu der Bewertung: Punktzahlen für Teilaufgaben werden nur ganzzahlig vergeben. Wenn notwendig, wird abgerundet. Bei Aufgaben, bei denen Antworten anzukreuzen sind, löscht ein falsches Kreuz ein korrektes Kreuz aus. Negative Punkt für Teilaufgaben werden jedoch nicht vergeben, schlimmstenfalls sind es nur 0 Punkte.

3 Nr Max Bewertung 1 8 xxxxx (a) 4 xxxxx (b) 4 xxxxx 2 18 xxxxx (a) 1 xxxxx (b) 1 xxxxx (c) 1 xxxxx (d) 1 xxxxx (e) 6 xxxxx (f) 2 xxxxx (g) 3 xxxxx (h) 3 xxxxx 3 10 xxxxx 4 10 xxxxx (a) 4 xxxxx (b) 2 xxxxx (c) 4 xxxxx 5 17 xxxxx (a) 3 xxxxx (b) 3 xxxxx (c) 3 xxxxx (d) 2 xxxxx (e) 6 xxxxx Nr Max Bewertung 6 14 xxxxx (a) 2 xxxxx (b) 2 xxxxx (c) 2 xxxxx (d) 2 xxxxx (e) 2 xxxxx (f) 4 xxxxx 7 10 xxxxx (a) 1 xxxxx (b) 3 xxxxx (c) 2 xxxxx (d) 2 xxxxx (e) 2 xxxxx 8 13 xxxxx (a) 2 xxxxx (b) 2 xxxxx (c) 2 xxxxx (d) 1 xxxxx (e) 2 xxxxx (f) 4 xxxxx Summe 100

4 0 Aufgabe 1 (8 Punkte) (a) 4 Punkte Schreiben Sie ein übersetzbares C++-Programm, das eine ganze Zahl einliest und dessen Quadrat ausgibt. Bitte geben Sie bei dieser Aufgabe auch die #include-anweisungen mit an. (b) 4 Punkte Wählen Sie einen der in Ihrer Lösung verwendeten Operatoren aus: Welche Datentypen haben die Operanden und welcher Datentyp wird von dem Operator zurückgeliefert?

5 1

6 2 Aufgabe 2 (18 Punkte) Umsetzung von Klassendiagrammen in C++ * Maze number_of_rooms: unsigned int rooms: Room[number_of_rooms] get_number_of_rooms() get_room(room_index) add_room(room) Room 1 * number_of_neighbors: unsigned int * neighbors: Room[number_of_neighbors] get_number_of_neighbors() get_neighbor(neighbor_index) add_neighbor(room) (a) 1 Punkte Charakterisieren Sie kurz die Beziehung zwischen den Klassen Maze und Room. (b) 1 Punkte Welche der beiden Klassen ist für die Beziehung zwischen Maze und Room verantwortlich? (c) 1 Punkte Kann ein Objekt der Klasse Room mit mehreren Objekten der Klasse Maze in Beziehung stehen?

7 3 (d) 1 Punkte Ist number_of_rooms in der Klasse Maze öffentlich zugänglich? (e) 6 Punkte Schreiben Sie die vollständige Header-Datei für Room.hpp mitsamt allen notwendigen Präprozessor-Direktiven, in der die Klasse Room wie im Klassendiagramm beschrieben vollständig deklariert wird. D.h. dass bei den Methoden nur die Signaturen anzugeben sind und die jeweilige Implementierung wegfällt. (f) 2 Punkte Welche Präprozessor-Anweisungen benötigen Sie zu Beginn in Room.cpp?

8 4 (g) 3 Punkte Implementieren Sie die Methode get_number_of_neighbors. (h) 3 Punkte Implementieren Sie die Methode add_neighbor.

9 5

10 6 Aufgabe 3 (10 Punkte) Erstellung eines Klassendiagramms Erstellen Sie ein UML-Klassendiagramm zu folgender Beschreibung: Zu einem Blog gehören beliebig viele Beiträge und beliebig viele Autoren. Jeder Beitrag gehört nur zu einem Blog, aber ein Autor kann an mehr als einem Blog mitwirken. Jeder Beitrag hat genau einen Autor und beliebig viele Kommentare. Jeder Kommentar gehört genau zu einem Beitrag und stammt genau von einem Autor. Ein Autor kann beliebig viele Beiträge und Kommentare verfassen. Bitte legen Sie im Klassendiagramm die Verantwortlichkeiten für folgende Navigationswege fest: Ausgehend von einem Blog sollte es möglich sein, an sämtliche Beiträge und sämtliche darin aktiv gewordene Autoren zu gelangen. Ausgehend von einem Autor sollten alle von ihm verfassten Beiträge und Kommentare zu finden sein. Ausgehend von einem Beitrag sollte der Autor und alle Kommentare abfragbar sein. Zu jedem Kommentar sollte der Autor nachgefragt werden können. Zeichnen Sie nur die Klassen und ihre Beziehungen mitsamt den Komplexitätsgraden. Die jeweiligen Verantwortlichkeiten für die Beziehungen sollten aus dem Diagramm hervorgehen. Methoden oder Datenfelder müssen Sie nicht angeben.

11 7

12 8 Aufgabe 4 (10 Punkte) Iteratoren (a) 4 Punkte Definieren Sie den Begriff Iterator. Nennen Sie insbesondere die wesentlichen Eigenschaften, die einen Iterator in C++ ausmachen. Welche Operatoren werden unterstützt? Es genügt, einen einfachen vorwärts laufenden Iterator (ForwardIterator) zu beschreiben. (b) 2 Punkte Sie haben einen sich an die üblichen Konventionen haltenden Container c, bei dem zu einem Zeitpunkt c.begin()== c.end() gilt. Was können Sie dann über den Container aussagen?

13 9 (c) 4 Punkte Gegeben sei der bereits mit Werten gefüllte Vektor a: std::vector<double> a; Schreiben Sie folgenden Programmtext so um, dass auf die explizite Indizierung des Vektors verzichtet wird, um sämtliche Werte des Vektors zu verdoppeln: for (std::size_t i = 0; i < a.size(); ++i) { a[i] * = 2; }

14 10 Aufgabe 5 (17 Punkte) Dynamische Datenstrukturen (a) 3 Punkte In welche drei Speicherbereiche können in C++ Variableninhalte abgelegt werden? (b) 3 Punkte Gegeben sei folgende Klasse Person: class Person { public: Person(const std::string& name) : name(name) { } const std::string& get_name() const { return name; } private: std::string name; }; Zeigen Sie an einem Programmtextbeispiel, wie in einem Block zwei Person-Objekte erzeugt werden, die in zwei verschiedenen Speicherbereichen leben, und wie diese Objekte bei oder vor dem Verlassen des umgebenden Blocks wieder korrekt freigegeben werden. Bei beiden Objekten sollte kurz kommentiert werden, in welche der drei Speicherbereiche sie leben.

15 11 (c) 3 Punkte Was ist ein Speicherleck? Zeigen Sie an einem Programmtextbeispiel, wie ein Speicherleck entstehen kann. (d) 2 Punkte Erklären Sie kurz den Sinn der std::shared_ptr-template-klasse. (e) 6 Punkte Definieren Sie eine Klasse Pedigree, bei der jedes Objekt eine Person repräsentiert, die einen Namen hat (analog zu oben) und, sofern bekannt, std::shared_ptr-zeiger auf Pedigree-Objekte liefert, die die Mutter bzw. den Vater repräsentieren.

16 12 Aufgabe 6 (14 Punkte) Templates (a) 2 Punkte Werden Templates in C++ zur Übersetzzeit oder zur Laufzeit instantiiert? (b) 2 Punkte Sie haben ein Template, das Sie mit unterschiedlichen Parametern mehrfach instantiieren. Führt das zu einem höheren generierten Code-Umfang oder bleibt dieser davon unberührt? (c) 2 Punkte Was ist der Unterschied zwischen dem Inclusion- und dem Cfront-Modell? Welches davon wird durch den aktuellen Standard (C++11) garantiert unterstützt?

17 13 (d) 2 Punkte Gegeben sei folgende Template-Klasse: #include <cassert> template<typename Item, unsigned int size> class Array { public: Array() {} std::size_t get_size() const { return size; } Item& operator[](std::size_t index) { assert(index < size); return a[index]; } private: Item a[size]; }; Deklarieren Sie auf Basis dieser Template-Klasse Array ein Array a mit 20 Elementen des Typs int. (e) 2 Punkte Wäre es auch möglich, auf Basis dieser Template-Klasse ein Array mit Elementen des Typs Person (Aufgabe 5b, Seite 10) zu deklarieren? Wenn nein, warum nicht?

18 14 (f) 4 Punkte Schreiben Sie ein Funktions-Template initialize_array, mit dem ein auf der obigen Template- Klasse Array basierendes Array mit Hilfe eines Lambda-Ausdrucks initialisiert werden kann, der jeweils den aktuellen Index als Parameter erhält. Sei a das oben deklarierte Array, dann sollte es beispielsweise mit initialize_array(a, [](std::size_t i){ return i * i; }); möglich sein, das Array mit den Quadratzahlen 0 2,..., 19 2 zu füllen.

19 15

20 16 Aufgabe 7 (10 Punkte) STL (a) 1 Punkte Nennen Sie eine beliebige STL-Container-Klasse aus dem C++11-Standard Ihrer Wahl. (b) 3 Punkte Beschreiben Sie mindestens drei wesentliche Eigenschaften des Containers. Gehen Sie dabei insbesondere auf den Zugriff und das Hinzufügen von Elementen ein. (c) 2 Punkte Welche Komplexität hat das Hinzufügen eines Objekts in dem genannten Container, wenn bereits n Objekte enthalten sind?

21 17 (d) 2 Punkte Nennen Sie ein Anwendungsszenario, für das der von Ihnen gewählte Container nicht geeignet ist. (e) 2 Punkte Welche STL-Container-Klasse wäre geeignet, um Schlüssel-Werte-Paare unterzubringen, bei denen ein Schlüssel mehrfach vorkommen kann, bei denen es auf eine schnelle Suche über den Schlüssel ankommt und bei dem die Schlüssel sortiert angeordnet sind? Welche Komplexität hat hier das Hinzufügen eines Paares, wenn bereits n Paare enthalten sind?

22 18 Aufgabe 8 (13 Punkte) Traits Gegeben sei folgendes Programm: #include <iostream> #include <list> template <typename T> struct AverageTraits { using Value = T; }; template <typename ForwardIterator, typename AT = AverageTraits<typename ForwardIterator::value_type> > struct Average { using Value = typename AT::Value; static Value average(forwarditerator begin, ForwardIterator end) { Value sum = Value(); Value count = Value(); for (ForwardIterator it = begin; it!= end; ++it) { sum += * it; ++count; } return sum / count; } }; template <typename ForwardIterator> inline typename AverageTraits<typename ForwardIterator::value_type>::Value average(forwarditerator begin, ForwardIterator end) { return Average<ForwardIterator>::average(begin, end); } int main() { std::list<int> values; for (int i = 1; i < 3; ++i) { values.push_back(i); } std::cout << "avg = " << average(values.begin(), values.end()) << std::endl; }

23 19 (a) 2 Punkte Was wird unter dem Begriff Traits in C++ verstanden? (b) 2 Punkte Mit welchem Datentyp für den Template-Parameter ForwardIterator wird in main() die Template-Funktion average instantiiert? (c) 2 Punkte Welchem Datentyp entspricht dann ForwardIterator::value_type? (d) 1 Punkte Wenn in Folge des Aufrufs von average die Template-Klasse struct Average instantiiert wird, welchen Datentyp erhält dann Value?

24 20 (e) 2 Punkte Welche Ausgabe erzeugt das Programm? (f) 4 Punkte Wie könnte die Template-Konstruktion rund um average ergänzt werden, so dass die Anwendung in main ein geeigneteres Resultat liefert? Hinweis: Es ist nur eine Deklaration hinzuzufügen. Welche Ausgabe wird dann erzeugt?

25 21

26 22

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

Probeklausur. Klausurdeckblatt. Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 26. Februar 2015, Uhr Probeklausur Klausurdeckblatt Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 26. Februar 2015, 14 16 Uhr Bearbeitungszeit: 120 Min. Institut: Angewandte Informati- Prüfer:

Mehr

Probeklausur. Klausurdeckblatt. Name der Prüfung: Objekt-orientierte Programmierung mit C++

Probeklausur. Klausurdeckblatt. Name der Prüfung: Objekt-orientierte Programmierung mit C++ Probeklausur Klausurdeckblatt Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 23. Februar 2013, 10-12 Uhr Institut: Angewandte Informationsverarbeitung Bearbeitungszeit:

Mehr

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

Probeklausur. Klausurdeckblatt. Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 26. Februar 2015, Uhr Probeklausur Klausurdeckblatt Name der Prüfung: Objekt-orientierte Programmierung mit C++ Datum und Uhrzeit: 26. Februar 2015, 14 16 Uhr Bearbeitungszeit: 120 Min. Institut: Angewandte Informati- Prüfer:

Mehr

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte Programmierung mit C++ SS 2007 Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string

Mehr

Polymorphismus 44. Function.hpp. #include <string>

Polymorphismus 44. Function.hpp. #include <string> Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 179. Function.h. #include <string> Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function

Mehr

Polymorphe for-anweisung 237

Polymorphe for-anweisung 237 Polymorphe for-anweisung 237 Beginnend mit C++11 wird for (for-range-declaration : expression) statement durch den Übersetzer zu folgendem Programmtext expandiert: { auto&& range = (expression); for (auto

Mehr

Objektorientierte Anwendungsentwicklung

Objektorientierte Anwendungsentwicklung Name, Vorname Matrikelnummer Klausur zur Vorlesung Objektorientierte Anwendungsentwicklung Krefeld, 16. März 2012 Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt. Die Aufgabenstellung

Mehr

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

Dynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit

Mehr

Objektorientierte Anwendungsentwicklung

Objektorientierte Anwendungsentwicklung Name, Vorname Matrikelnummer Klausur zur Vorlesung Objektorientierte Anwendungsentwicklung Krefeld, 2. Juli 2014 Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt. Tragen

Mehr

C-Arrays vs. C++-Container

C-Arrays vs. C++-Container C-Arrays vs. C++-Container In C verwendet man (mangels Alternativen) sehr häufig das C-Array (= Feld): im Speicher hintereinander abgelegte Elemente vom gleichen Typ. Arrays haben einen Basistyp (Typ des

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen!

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen! Objektorientierte Programmierung & Modellierung WS 2007/8 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur 07.12.2007 Gruppe A Bitte in Druckschrift

Mehr

Einführung in die STL

Einführung in die STL Einführung in die STL Fimberger Lucia lfimberg@cosy.sbg.ac.at Nidetzky Marion mnidetzk@cosy.sbg.ac.at Was ist die STL? Abkürzung für Standard Template Library Eine generische Bibliothek Ist kaum objektorientiert,

Mehr

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien

Mehr

Assoziative Container in C++ Christian Poulter

Assoziative Container in C++ Christian Poulter Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...

Mehr

C-Arrays vs. C++-Container

C-Arrays vs. C++-Container C-Arrays vs. C++-Container In C verwendet man (mangels Alternativen) sehr häufig das C-Array (= Feld): im Speicher hintereinander abgelegte Elemente vom gleichen Typ. Arrays haben einen Basistyp (Typ des

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

Visuelle Kryptographie. Anwendung von Zufallszahlen

Visuelle Kryptographie. Anwendung von Zufallszahlen Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,

Mehr

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13 C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)

Mehr

Probeklausur. Musterlösung

Probeklausur. Musterlösung Programmierkurs Probeklausur Dr. Steffen Müthing Abgabe 08. Februar 2019 IWR, Universität Heidelberg ipk-exercises:2018-ws-55-gc187ae0 Allgemeine Hinweise: Probeklausur Dieses Übungsblatt wird nicht bewertet.

Mehr

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011 Kompaktkurs Einführung in die Programmierung Klausur Seite 1/10 Name, Vorname, Unterschrift: Matrikelnummer: Wichtig: Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14 C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung

Mehr

Klausur "ADP" SS 2015

Klausur ADP SS 2015 PD Dr. J. Reischer 20.7.2015 Klausur "ADP" SS 2015 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur

Mehr

K L A U S U R D E C K B L A T T

K L A U S U R D E C K B L A T T K L A U S U R D E C K B L A T T Name der Prüfung: Einführung in die Robotik Datum und Uhrzeit: 25.02.2014 um 11Uhr Bearbeitungszeit: : Institut: Neuroinformatik Prüfer: Oubbati Vom Prüfungsteilnehmer auszufüllen:

Mehr

Objektorientierte Programmierung mit C++ (WS 2016/2017)

Objektorientierte Programmierung mit C++ (WS 2016/2017) Institut für Numerische Mathematik Dr. Andreas F. Borchert und Dr. Michael C. Lehn 26. Januar 2017 Blatt 12 Objektorientierte Programmierung mit C++ (WS 2016/2017) Abgabe bis zum 2. Februar 2017, 16:00

Mehr

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

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Alexander Bazo 10. April 2015 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten. Sie könne

Mehr

kurze Wiederholung class templates

kurze Wiederholung class templates kurze Wiederholung class templates Ein class template ist ein Template, dass mit einem oder mehreren typename -Parametern implementiert wird. Um solch ein Template zu benutzen, übergibt man dem Template

Mehr

9. Vektoren. (auch Felder/array)

9. Vektoren. (auch Felder/array) 9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die

Mehr

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

Prüfung A Informatik D-MATH/D-PHYS :15 14:55 Prüfung A Informatik D-MATH/D-PHYS 17. 12. 2013 13:15 14:55 Prof. Bernd Gartner Kandidat/in: Name:. Vorname:. Stud.-Nr.:. Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen

Mehr

Generische Deklarationen 179

Generische Deklarationen 179 Generische Deklarationen 179 Generische Klassen und Funktionen, in C++ templates genannt, sind unvollständige Deklarationen bzw. Definitionen, die von Parametern abhängen. Überwiegend handelt es sich dabei

Mehr

Programmierkurs C++ Templates & STL (1/2)

Programmierkurs C++ Templates & STL (1/2) Programmierkurs C++ Templates & STL (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Templates Die wichtigsten objekt-orientierten

Mehr

Klausurdeckblatt. Name: Studiengang: Matrikelnummer:

Klausurdeckblatt. Name: Studiengang: Matrikelnummer: Klausurdeckblatt Name der Prüfung: Systemnahe Software II Datum und Uhrzeit: 21. Juli 2016, 10-12 Uhr Prüfer: Dr. Andreas F. Borchert Bearbeitungszeit: 120 Min. Institut: Numerische Mathematik Vom Prüfungsteilnehmer

Mehr

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Metaprogrammierung 372

Metaprogrammierung 372 Metaprogrammierung 372 thales$ g++ -c -fpermissive -DLAST=30 Primes.cpp 2>&1 fgrep In instantiation Primes.cpp: In instantiation of void Prime_print::f() [with int i = 29] : Primes.cpp: In instantiation

Mehr

Programmieren in C++ Templates

Programmieren in C++ Templates Programmieren in C++ Templates Inhalt Templates Funktions- und Klassen-Templates Spezialisierung von Templates Generische Klassen Einbinden von Templates Instantiierung (implizit und explizit) Templates

Mehr

K L A U S U R D E C K B L A T T

K L A U S U R D E C K B L A T T K L A U S U R D E C K B L A T T Name der Prüfung: Einführung in die Robotik Datum und Uhrzeit: 16.04.2014 um 11Uhr Bearbeitungszeit: : Institut: Neuroinformatik Prüfer: Oubbati Vom Prüfungsteilnehmer auszufüllen:

Mehr

Klausur Programmieren 2 WS 2017/18

Klausur Programmieren 2 WS 2017/18 Klausur Programmieren 2 WS 2017/18 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweise: Formulieren Sie Ihre Lösungen auf dem Aufgabenblatt

Mehr

Objektorientierung Grundlagen

Objektorientierung Grundlagen Prof. Dr.-Ing. Andreas Simon Telefon +49 (0)5331 939 42630 Telefax +49 (0)5331 939 43634 E-Mail a.simon@ostfalia.de Objektorientierung Grundlagen Probeklausur 18. Mai 2015 Name: Mat.-Nr.: Vorname: Login:

Mehr

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: E Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: E Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Prüfung Algorithmen und Datenstrukturen I

Prüfung Algorithmen und Datenstrukturen I Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2014/15 Prüfung Algorithmen und Datenstrukturen I Datum : 20.01.2015, 10:30 Uhr

Mehr

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

Prof. Dr. Uwe Schmidt. 17. August Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353) Prof. Dr. Uwe Schmidt 17. August 2010 Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre

Mehr

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017 Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (1 Punkt): Aufgabe 3 (2 Punkte): Aufgabe 4 (4 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (2 Punkte): Aufgabe 7 (4 Punkte): Aufgabe 8

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration

Mehr

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Kapitel 8 Operatoren Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Operatoren definieren Es ist in C++ möglich, Operatoren wie +, oder für

Mehr

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

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich

Mehr

Prüfung Informatik D-MATH/D-PHYS :00 17:00

Prüfung Informatik D-MATH/D-PHYS :00 17:00 Prüfung Informatik D-MATH/D-PHYS 9. 8. 0 5:00 7:00 Prof. Bernd Gartner Kandidat/in: Name:. Vorname:. Stud.-Nr.:. Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen ablegen

Mehr

Informatik 1 ( ) D-MAVT F2010. Rekursion, Signaturen. Yves Brise Übungsstunde 8

Informatik 1 ( ) D-MAVT F2010. Rekursion, Signaturen. Yves Brise Übungsstunde 8 Informatik 1 (251-0832-00) D-MAVT F2010 Rekursion, Signaturen Nachbesprechung Blatt 6 Aufgabe 1 - Strukturen und Zeiger Genau die Variablen angeben, die sich geändert haben. Implizite Initialisierung ergänzt

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale

Mehr

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

Probeklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2017/18 Probeklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2017/18 Alexander Bazo Januar 2018 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten.

Mehr

Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte

Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte entstehen durch... globale Objektvereinbarung: T o; blocklokale Objektvereinbarung: {.. T o;.. durch expliziten Aufruf

Mehr

Informatik 1 ( ) D-MAVT F2011. Klassen, Funktionen. Yves Brise Übungsstunde 9

Informatik 1 ( ) D-MAVT F2011. Klassen, Funktionen. Yves Brise Übungsstunde 9 Informatik 1 (251-0832-00) D-MAVT F2011 Klassen, Funktionen Nachbesprechung Blatt 7, Aufgabe 1 Wenn Funktion void als Rückgabetyp hat, dann ist return nicht notwendig. void swap3(int* a, int* b) { int

Mehr

Probeklausur zur Vorlesung

Probeklausur zur Vorlesung Dr. Jochen Hoenicke Alexander Nutz Probeklausur zur Vorlesung Einführung in die Informatik Sommersemester 2014 Die Klausur besteht aus diesem Deckblatt und elf Blättern mit den Aufgaben, sowie einem Blatt

Mehr

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung II (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr

Mehr

Prüfung Informatik D-MATH/D-PHYS :00 11:00

Prüfung Informatik D-MATH/D-PHYS :00 11:00 Prüfung Informatik D-MATH/D-PHYS 24. 1. 2014 09:00 11:00 Prof. Bernd Gartner Kandidat/in: Name:... Vorname:... Stud.-Nr.:... Ich bezeuge mit meiner Unterschrift dass ich die Prufung unter regularen Bedingungen

Mehr

Dynamische Datenstrukturen in C++ 150

Dynamische Datenstrukturen in C++ 150 Dynamische Datenstrukturen in C++ 150 In allen bisherigen Beispielen belegten die Objekte entweder statischen Speicherplatz oder sie lebten auf dem Stack. Dies vermied bislang völlig den Aufwand einer

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Musterklausur 1. Dynamische Datenstrukturen und objektorientierte Programmierung Zur Verwaltung einer digitalen Fotogalerie sollen Techniken der objektorientierten Programmierung

Mehr

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

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

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer Universität zu Lübeck Institut für Telematik Prof. Dr. Stefan Fischer Probeklausur im Fach Programmieren Hinweise zur Bearbeitung: Es sind keinerlei Hilfsmittel zugelassen. Diese Klausur umfasst 18 Seiten.

Mehr

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

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 6. März 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:

Mehr

Programmieren in C++ Überblick

Programmieren in C++ Überblick Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Informatik 1 ( ) D-MAVT F2010. Letzte Übungsstunde. Yves Brise Übungsstunde 12

Informatik 1 ( ) D-MAVT F2010. Letzte Übungsstunde. Yves Brise Übungsstunde 12 Informatik 1 (251-0832-00) D-MAVT F2010 Letzte Übungsstunde Evaluation S3 Frage zu Assistierenden INFK Anz. Der/die Assistent/in war fachlich k.ä. 0 kompetent 1 0 2 0 3 0 4 23% 3 5 77% 10 MW = 4.8 SA =

Mehr

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

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges

Mehr

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18 C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Klausur: Informatik, am 13. August 2015 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 13. August 2015 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) a) Geben

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme Musterklausur zur Einführung in die Informatik II 1. Teilklausur, 23.06.2006 Bitte lesen

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli 2001 Stefan Holland Informatik II Hinweise: Klausur Verwenden Sie für Ihre Lösungen ausschließlich den

Mehr

19. Dynamische Datenstrukturen II. Verkettete Listen, Vektoren als verkettete Listen

19. Dynamische Datenstrukturen II. Verkettete Listen, Vektoren als verkettete Listen 636 19. Dynamische Datenstrukturen II Verkettete Listen, Vektoren als verkettete Listen Anderes Speicherlayout: Verkettete Liste 638 Kein zusammenhängender Speicherbereich und kein wahlfreier Zugriff 638

Mehr

Objektorientierte Programmierung mit C Datentypen (Strukturtypen)! p.name = "Willibald Wusel";

Objektorientierte Programmierung mit C Datentypen (Strukturtypen)! p.name = Willibald Wusel; 1.2. Datentypen (Strukturtypen) p.name = "Willibald Wusel"; Kombination mit Zeigern (dynamische Strukturobjekte) Person* anewperson = new Person; anewperson->age = 32; // short hand for: (* anewperson).age

Mehr

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

5. Lesen Sie vor der Bearbeitung einer Aufgabe den gesamten Aufgabentext sorgfältig durch! Wir begrüßen Sie zur Nachklausur zum Kurs 1618 Einführung in die objektorientierte Programmierung. Bitte lesen Sie die folgenden Hinweise sorgfältig und vollständig durch, bevor Sie mit der Bearbeitung

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Viel Erfolg bei der Bearbeitung der Aufgaben!

Viel Erfolg bei der Bearbeitung der Aufgaben! Musterlösung Name:... 1 2 3 4 5 Gesamt Note 12 8 10 15 11 56 Bitte tragen Sie auf dem Deckblatt Ihr Namen und Ihre Matrikelnummer ein und auf allen weiteren Seiten nur noch Ihre Matrikelnummer. Lösungen

Mehr

1.2. Datentypen (Konstantentypen)

1.2. Datentypen (Konstantentypen) 1.2. Datentypen (Konstantentypen) Referenzen (selbst) sind implizit const, es gibt jedoch Referenzen auf Konstantentypen Wichtigste Anwendung: call by reference in-parameter T t; void foo(t& pt) { pt.change();

Mehr

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

1. Testklausur Sommersemester 2013 Datenstrukturen und Algorithmen 24. Mai 2013 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

Mehr

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

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

Programmieren - C++ Templates

Programmieren - C++ Templates Programmieren - C++ Templates Reiner Nitsch 8471 reiner.nitsch@h-da.de Was sind Funktionstemplates? C++ unterscheidet zwischen Funktionstemplates (dieses Kapitel) und Klassentemplates (später). Funktionstemplates

Mehr

Lambda-Funktionen. Lambda-Funktionen. Lambda-Funktionen sollen

Lambda-Funktionen. Lambda-Funktionen. Lambda-Funktionen sollen Lambda-Funktionen Lambda-Funktionen sind Funktionen ohne Namen. definieren ihre Funktionalität an Ort und Stelle. können wie Daten kopiert werden. können ihren Aufrufkontext speichern. Lambda-Funktionen

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Teilklausur I in Informatik TEL09GR2 Lewandowski

Teilklausur I in Informatik TEL09GR2 Lewandowski Teilklausur I in Informatik TEL09GR2 Lewandowski Es sind insgesamt 84 Punkte zu erreichen (80 Punkte werden als 100% gewertet) (Jeder Punkt entspricht einer Bearbeitungszeit von etwa 1 Minute) Aufgabe

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr