SAI || Vorlesungen im SS 97 || Programmieren II / Allg. Informatik II || Übungen
Übungen zu Programmieren II / Allg. Informatik II SS 97
Blatt 2 (24.04.97 - 06.05.97)
Zur Verwaltung von Personendaten seien folgende Vereinbarungen gegeben:
CONST
NameLength = 30;
PhoneLength = 15;
NumberOfPers = 50;
TYPE
Name = ARRAY[0..NameLength] OF CHAR;
Phone = ARRAY [0..PhoneLength] OF CHAR;
Date = RECORD
day : CARDINAL[0..31];
month: CARDINAL[1..12];
year: CARDINAL[1900..2100];
END;
PersDat = RECORD
famName: Name;
firstName: Name;
birthDate: Date;
phone: Phone;
END;
PersList = ARRAY [1 .. NumberOfPers] OF PersDat;
IndexList = ARRAY [1..NumberOfPers] OF [1..NumberOfPers];
Das von Ihnen erwartete Programm soll folgende Aufgaben erfüllen:
- a)
-
Die Daten sollen entweder von stdio oder einer als Argument angegebenen
Datei in ein Array (z.B. persList vom Typ PersList) eingelesen werden.
Dieses soll bei den weiteren Aufgaben nicht verändert werden!
- b)
-
Diese Personendaten werden anschließend sortiert nach Name (famName)
und Alter (birthDate). Dazu werden zwei Indexfelder verwendet, die
die Sortierung enthalten.
Sei ageList das Indexfeld (vom Typ IndexList), so soll
gelten:
persList[ageList[i]] <= persList[ageList[i+1]], f.a. i im Indexbereich
Der Vergleich "<=" ist natürlich entsprechend dem Vergleichkriterium
anzupassen: "<=" heißt beim Alter "nicht älter als",
beim Namen "lexikografisch kleiner gleich".
- c)
-
Die Sortierfunktion (Algorithmus z.B. lineares Sortieren) soll
als Parameter das Array persList, die Anzahl der tatsächlich
belegten Elemente (oberster gültiger Index), die Prozedur, die
den Vergleich bestimmt, sowie das Ergebnisfeld (Indexfeld) erhalten.
- d)
-
Das Programm soll durch Prozeduren gut strukturiert sein und
als Ausgabe an stdout die sortierten Personendaten liefern.
Fehlermeldungen sind nach stderr zu schreiben!
Bitte beachten Sie, daß dieses Programm in den nächsten Übungen weiter
ausgebaut werden soll!
Viel Erfolg!
SAI || Vorlesungen im SS 97 || Programmieren II / Allg. Informatik II || Übungen
Franz Schweiggert, 22.04.1997