Wo sind die Aufgaben hin o0

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Wo sind die Aufgaben hin o0
Hey,
ich sitz gerade im cip und wollt die erste Hausaufgabe machen… aber die Aufgabenblaetter sind nicht einsehbar …

http://www9.informatik.uni-erlangen.de/teaching/sem/0000a/AlgoIII/
Mann kann nur “Tutorial signup” anklicken :frowning:

hat die jmd offline verfuegbar und kann sie schicken? danke


Habs hier von nem Kumpel bekommen, aber nicht so gut gelayoutet jetzt! besser als nix

Department Informatik Seite 1 von 2
Prof. Dr. G¨unther Greiner, Dipl.-Inf. Matthias Nießner Erlangen, 23.04.2010
Algorithmik kontinuierlicher Systeme (Aufgabenblatt 1)
Allgemeines
Dieses Aufgabenblatt f ¨uhrt in C++ ein.
Legen Sie zun¨achst ein handin im CIP-Pool an. F¨uhren Sie dazu das Skript
/proj/i9algo3/handin/createAlgoKSHandin
mit korrekten Parametern aus. Um den handin f ¨ur dieses Aufgabenblatt zu erstellen, benutzen Sie
/proj/i9algo3/handin/createAlgoKSHandin A1.
Wechseln Sie anschließend in Ihr handin Verzeichnis. Was Sie nun vorfinden, ist ein Ger ¨ust auf dem
Ihre Implementierung aufbauen soll. Sie k¨onnen das Programm durch Eingabe von make in der Konsole
bauen.
Die Abgaben werden mit Ablauf der Abgabefrist in ein separates Abgabeverzeichnis kopiert, sodass
Ihnen Ihre Implementierung weiterhin zur Verf ¨ugung steht. ¨Anderungen nach der Abgabefrist gehen
allerdings nicht mehr in die Bewertung ein.
Aufgabe 1 [8 Punkte] (Komplexe Zahlen)
In dieser Aufgabe sollen Sie eine Klasse Complex implementieren, welche das Rechnen mit komplexen
Zahlen erm¨oglicht. Bearbeiten Sie dazu die Dateien complex.cpp sowie complex.h. Die Datei
main.cpp dient Ihnen lediglich zum Testen und wird nicht bewertet.
a) Legen Sie zun¨achst private Membervariablen f ¨ur den Real- und Imagin¨arteil an. Implementieren
Sie Konstruktor(en), einen Destruktor sowie Accessor- und Mutatormethoden f ¨ur die Membervariablen.
Achten Sie darauf, dass sich Methodendeklarationen in der .h Datei und Methodendefinitionen
in der .cpp Datei befinden.
b) Implementieren Sie eineMethode void Complex::print(), welche die komplexe Zahl auf der
Konsole ausgibt. Verwenden Sie dazu C++ Streams.
c) Implemtieren Sie die grundlegenden Rechenoperationen mit komplexen Zahlen:
• Addition: void Complex::add(const Complex &r)
• Subtraktion: void Complex::sub(const Complex &r)
• Multiplikation: void Complex::mult(const Complex &r)
• Division: void Complex::div(const Complex &r)
• Conjugate: void Complex::conj(const Complex &r)
d) Testen Sie Ihre Klasse, indem Sie einfache Rechenbeispiele in der main-Funktion durchf ¨uhren.
Geben Sie die Ergebnisse mittels print() aus.
e) Sie werden in der vorherigen Teilaufgabe festgestellt haben, dass die Handhabung nicht gerade
komfortabel ist. ¨Uberladen Sie deshalb in der Klasse Complex die bin¨aren Operatoren +=, -=, *=,
/=, sowie den un¨aren Operator - und testen Sie die Methoden.
Seite 2 von 2
f) ¨Uberladen Sie ebenfalls die Operatoren +, -, *, sowie / und testen Sie die Funktionen!
g) Anstelle der print()-Methode w¨are es w¨unschenswert, eine komplexe Zahl cn etwa durch
cout << "Zahl " << cn << endl; auszugeben. Verwirklichen Sie diese Funktionalit¨at in
Ihrem Programm und probieren Sie diese aus!
Aufgabe 2 [8 Punkte] (Generische Matrix)
Implementieren Sie eine generische n × m Matrix-Klasse, welche einen Template-Parameter beinhaltet.
Dieser spezifiziert den Typ eines einzelnen Eintrages derMatrix. Es gilt stets: Zeilen zuerst, Indices
beginnen immer bei 0. Gehen Sie nun wie folgt vor:
a) Implementieren Sie einen Konstruktor,welcher die Anzahl der Zeilen und Spalten als Parameter
hat, sowie einen Destruktor, der sich um das Aufr¨aumen k¨ummert.
b) Um die Matrix-Klasse zu benutzen, implementieren Sie die Accessor- und Mutatormethoden.
c) Zur Ausgabe der Matrixdaten realisieren Sie eine void Matrix::print() Methode, sowie
zur komfortablen Handhabung eine Implementierung des Stream-Operators <<.
d) Erm¨oglichen Sie nun eineMatrix-Matrix- und eineMatrix-Skalar-MultiplikationmittelsOperator-
¨uberladung.
e) Implementieren Sie einen Zuweisungoperator =, Vergleichsoperator ==, sowie einen Copy-Konstruktor.
Testen Sie nun die Funktionalit¨aten der Matrix-Klasse ausf ¨uhrlich. Instanziieren Sie den Template-
Parameter zun¨achst mit float oder double. Anschließend stellen Sie eine Matrix mit komplexen
Zahlen dar, indem Sie Matrix mit Complex als Template benutzen.
Allgemeine Hinweise f ¨ur beide Aufgaben:
• Achten Sie auf eine korrekte Fehlerbehandlung!
• Eswerden ausschließlich dieDateien complex.h, complex.cpp, matrix.h und matrix.cpp
bewertet.
• Ver¨andern Sie keine Funktionsr ¨umpfe, Sie k¨onnen aber gerne Hilfsfunktionen erstellen.
Viel Erfolg !
Abgabe: Freitag, 30.04.2010, 14:00 Uhr.


Hier das PDF.

Attachment:
blatt-01.pdf: https://fsi.cs.fau.de/unb-attachments/post_85681/blatt-01.pdf


hast du auch noch die folien zur verfuegung?


Ja, aber die sind zu gross zum hochladen. Gib mir deine E-Mail per PM und ich schick sie dir.


Sehe ich das richtig, dass Medizintechniker AlgoKS hören müssen nur mit AuD und bisschen Matlab als Programmierhintergrund (also kein SP, oder sonstig programmierlastiges?)?

Heidewitzka, ich sollte ein Nachhilfeangebot einrichten …


Soweit ich das weiss, ja.


Ja ist korrekt. Allerdings sind es ja nur 3 oder 4 Programmierblätter von denen man die meisten Algorithmen von den Folien / Skript aus Pseudocode in C++ hinschreiben muss. Und gelernte Algorithmen in Quellcode übersetzen sollte man aus AuD können. Ist ja nicht so, dass man groß Ahnung von C++ für AlgoKS bräuchte (wobei man mit dem ersten Blatt schon bisschen ins kalte Wasser geschmissen wird mit Templates, Operatorüberladung, Headerdateien. Aber recht viel mehr Programmiersprachenkonzepte braucht man für die folgenden Blätter dann nicht mehr).


Aufgaben sind wieder da.