• Keine Ergebnisse gefunden

Blatt 2: Objektorientierte Programmierung

N/A
N/A
Protected

Academic year: 2022

Aktie "Blatt 2: Objektorientierte Programmierung"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hochschule Niederrhein Objektorientierte Prof. Dr. Rethmann

Fachbereich 03 Anwendungsentwicklung Prof. Dr. Davids

Bachelor Informatik Sommersemester 2018 Ubung 2¨

Objektorientierte Programmierung

Aufgabe 3:

Implementieren Sie den Stack aus Aufgabe 1 als Klasse in C++.

• Die Fehlervariable soll durch ein Exception-Handling ersetzt werden.

• Verwenden Sie außerdem die Technik der Templates, damit der Stack Werte von beliebigen Datentypen speichern kann.

Erstellen Sie weiterhin ein Programm, das mittels des Stacks einen arithmetischen Aus- druck in UPN bewertet. Wie immer, geh¨oren Testtreiber und Testf¨alle zur Aufgabe, um die Korrektheit Ihrer Implementierung nachzuweisen.

Aufgabe 4:

Implementieren Sie den Heap aus Aufgabe 2 als Klasse in C++.

• Die Fehlervariable soll durch ein Exception-Handling ersetzt werden.

• Verwenden Sie außerdem die Technik der Templates, damit der Heap Werte von beliebigen Datentypen speichern kann.

• Erweitern Sie die Klasse um einen KonstruktorHeap(int *values), der alle Werte des Arraysvalues in den Heap ¨ubernimmt.

Aufgabe 5:

Erstellen Sie eine Klasse Complex, die komplexe Zahlen mittels Real- und Imagin¨arteil realisiert. ¨Uberladen Sie alle notwendigen Operatoren, damit ein normales Rechnen im Programm m¨oglich ist. Erstellen Sie einen Testtreiber und Testf¨alle, um die Korrektheit Ihrer Implementierung nachzuweisen.

Komplexe Zahlen ben¨otigen wir zur Darstellung der Mandelbrot-Menge, die im allgemeinen Sprachgebrauch oft auch Apfelm¨annchen genannt wird. Die Mandelbrot-Menge M ist die Menge aller komplexen Zahlenc, f¨ur welche die rekursiv definierte Folge komplexer Zahlen z0, z1, z2, . . . mit dem Bildungsgesetz

zn+1 =zn2+c

und dem Anfangsglied z0 = 0 beschr¨ankt bleibt, das heißt, der Betrag der Folgenglieder w¨achst nicht ¨uber alle Grenzen. Die grafische Darstellung dieser Menge erfolgt in der kom- plexen Ebene. Die Punkte der Menge werden dabei in der Regel schwarz dargestellt und der Rest farbig, wobei die Farbe eines Punktes den Grad der Divergenz der zugeh¨origen

Folge widerspiegelt. (Quelle: wikipedia)

1

(2)

Sie k¨onnen die Apfelm¨annchen mittels der SFML-Bibliothek auf dem Bildschirm darstellen, oder Sie schreiben die Werte in eine PPM- oder eine BMP-Datei und sehen sich die Bilder mit einem Bildbetrachtungsprogramm an. Die SFML-Variante hat den Vorteil, dass Sie mittels Tastatur in das Apfelm¨annchen hinein- oder heraus-zoomen k¨onnen.

2

Referenzen

ÄHNLICHE DOKUMENTE

Wir wollen einerseits, dass unsere Kunden vom Produkt, der Qualität und der Druckgeschwindigkeit begeistert sind, anderseits wollen auch wir unsere Wochenenden genießen und

Ziel: Entwicklung eines Tests für die Methode add() unter Verwendung von JUnit .... Automatische Tests mit JUnit Ein erstes

Während ein Objekt etwas Konkretes ist, das Speicherplatz belegt und zu jedem Zeitpunkt einen bestimmten Zustand hat, ist eine Klasse etwas Abstraktes: Sie ist ein Muster, das

Definition einer Klasse für komplexe Zahlen mit Methoden zum Setzen und zum Abfragen von Real- und Imaginärteil. Später können weitere Methoden zum Setzen und Abfragen von Betrag

Erstellen Sie eine Funktion fft() zur Berechnung der Fast Fourier Transformation eines Vektors aus komplexen Zahlen und testen Sie Ihre Funktion fft() mit einem

• Für 2/3 der Hausaufgaben Programmierteil müssen 2 oder mehr Punkte erreicht werden... Fragen

Wenn man über einen Container (z.B. Listen oder Arrays) iterieren will verwendet man FOR-EACH-Schleifen. for (TYPE name : variable)

Sie k¨onnen in dieser Aufgabe auf die folgende statische Methode der Klasse FacebookHelper zur¨uckgreifen, die den Namen eines Nutzers als Parameter erwartet und eine Liste der