5. Übung für Programmierpraktikum
Abgabetermin: 15. 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:
Die Funktion pow wird in dieser Übung nicht benötigt
und darf auch nicht benutzt werden.
Werden Variablen aus der Parameterliste in einer Funktion 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)
Die Aufgabenstellung entspricht der Aufgabe 1 in Übung 4, nur daß Sie
diesmal folgende Funktionen für die Berechnungen programmieren und
verwenden sollen.
- FU - Realisierung von
zur
Berechnung von
u[i] = fu(i);
- FW - Realisierung von
sin zur
Berechnung von
w[i]
- INNERPROD - Inneres Produkt
, zweier Vektoren.
- EUKLIDNORM - Euklidische Norm eines Vektors.
Nutzen Sie die Beziehung
|| || =
aus!
- CALC_Z - Berechnung des z-Vektors.
- PRINT - Ausgabe eines Vektors wie in Ü4, Aufg. 1
Realisieren Sie die Aufgabe 1 aus Übung 4 mittels obiger Funktionen.
Eingabedaten (n): (4), (20), (31553)
- (4 P) Schreiben Sie die Definitionen obiger Funktionen
in ein separates Quellfile mit der Endung .cc und die Deklarationen
in ein gleichlautendes Headerfile mit Endung .hh.
Compilieren und linken Sie alles zusammen mit dem (modifizierten)
Hauptprogramm von Aufg. 1). Testen Sie das fertige Programm mit den
Eingabedaten von Aufg. 1).
Aufgaben 1) und 2) dürfen auch gemeinsam bearbeitet werden.
- (12 P)
Schreiben Sie zunächst für ihre, in Aufg. 3 der
Übung 3 entwickelte, Datenstruktur drei Funktionen, welche
- die Daten einer Strukturvariablen einliest,
- das Alter zweier Personen (= Strukturvariablen) vergleicht,
- die Daten einer Strukturvariablen ausgibt.
Schreiben Sie eine weitere Funktion, welche aus einem Feld ihrer
Strukturvariablen einen Indexvektor (int-Feld) als OUTPUT
erzeugt, welcher die Personen altersmäßig aufsteigend ordnet.
Zum Hauptprogramm:
Allokieren Sie, entsprechend der (im File) gegebenen Personenanzahl,
dynamisch ein Feld ihrer Strukturvariablen und lesen Sie dieses ein.
Erzeugen Sie den Indexvektor und geben Sie die Datensätze,
beginnend mit der ältesten Person, aus.
Nutzen Sie alle 4 Funktionen.
Die Eingabedaten sind im File
input.5C.txt
zu finden
(Aufruf: ./a.out < input.5C.txt ).
Die Anordnung der Daten ist:
(Anzahl Personen, Namei, Tagi, Monati, Jahri, Gehalti)
Gundolf Haase : Thu Dec 11 08:45:26 CET 2003