6. Übung für Programmierpraktikum
Abgabetermin: 29. Jänner 2004
Name:
Matrikelnummer:
Punkte:
Die Übungen sind grundsätzlich allein zu machen.
Gruppenarbeit ist nicht erlaubt.
Abzugeben sind jeweils das sinnvoll dokumentierte
Programmlisting mit Original-inputs und Original-outputs,
falls angebracht für mehrere Testläufe mit unterschiedlichen
Eingabedaten.
Das Abgabeformat ist DIN A4. Heften Sie alle Unterlagen gemeinsam mit
dem Übungsblatt zusammen !
Generelle Hinweise:
Werden Variablen aus der Parameterliste in einer Methode als
Konstante behandelt, d.h., nicht verändert, dann ist dies auch in der
Parameterliste kenntlich zu machen!
Globale Variablen sind nicht nötig und auch nicht erlaubt.
- (8 P)
Schreiben Sie eine Klasse DATUM, welche Tag, Monat und Jahr
speichert.
Implementieren Sie (Header- und Sourcefile) alles so,
daß das folgende
Programm
funktioniert.
Hinweis:
Implementieren Sie entweder zuerst den «-Operator für Ihre Klasse
DATUM oder
kommentieren Sie die entsprechenden Zeilen im Programm anfangs aus.
Ansonsten erscheinen lange kryptische Fehlermeldungen beim Kompilieren.
- (4 P) Erweitern Sie die Klasse Datum um einen Konstruktor,
der die Daten aus einem File einliest, dessen Name
diesem Konstruktor als Parameter übergeben wird (§9.2 der Vorlesung).
Das entsprechende Hauptprogramm
ändert sich bzgl. Aufg. 1 derart, daß
Zeilen 8-11 durch die Zeile
Datum dd("input.6B_1.txt");
ersetzt werden.
Die Existenz des Files muß im Rahmen dieser Übung nicht überprüft werden.
Eingabedaten (tag,monat,jahr) in den Files
input.6B_1.txt,
input.6B_2.txt.
Zusatzpunkte (+2):
Übergeben Sie den Filenamen als Kommandozeilenparameter (§7.6 der Vorlesung) an das
Programm, sodaß Sie das Programm mit
./a.out input.6B_1.txt
bzw.
./a.out input.6B_2.txt
starten können.
- (12 P)
Implementieren Sie eine eigene Vektorklasse, welche den benötigten Speicher dynamisch
anfordert, sodaß das folgende
Programm
funktioniert. Die Zeilen 14-16 beinhalten eine Zusatzaufgabe (+2).
Die DaXpY-Operation (Doppelt-genau:
alpha-mal-Vektor-X-plus-Vektor-Y)
in Zeile 9 ist identisch zu der Operation in Zeile 14 und bedeutet:
zi : =
*
xi +
yi i = 0,...,
n - 1
Die Methode NORM und die Funktion INNERPROD entsprechen
den Definitionen in Aufgabe 1 der Übung 4.
Eingabedaten (n,
x[0],..., x[n - 1]) sind in den Files
input.6C_x.txt,
input.6C_y.txt.
Gundolf Haase : Tue Jan 13 09:45:47 CET 2004