Prof. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 4. Mai 2005
Christian Ehrhardt Blatt 4
Unix-basierte Implementierung kleiner Datenbanken (SS 2005)
Abgabetermin 11.05.2005
In einer Datei können Kommentare vorkommen. Ein Kommentar wird durch
ein Prozentzeichen (``%'') eingeleitet und erstreckt sich grundsätzlich
bis zum Zeilenende. Steht allerdings unmittelbar vor dem Prozentzeichen ein
Backslash (``''), dann beginnt bei diesem Prozentzeichen kein Kommentar.
Schreibt ein Shell-Skript, das alle Kommentare aus einer Datei entfernt.
Dabei sollen Zeilen, die ausschließlich aus einem Kommentar bestehen
vollständig entfernt werden (es soll also keine Leerzeile zurückbleiben).
Bereits vor der Entfernung von Kommentaren vorhandene Leerzeilen sollen
dagegen erhalten bleiben.
Hinweis: sed und Rückwärtsverweise.
Wir gehen im folgenden davon aus, daß zwei Tabellen bereits existieren:
Eine Tabelle aller Studenten, die Scheine machen können und eine Tabelle
mit Vorlesungen, in denen Scheine gemacht werden können.
Alle Tabellen enthalten genau einen Datensatz pro Zeile, die einzelnen
Felder eines Datensatzes werden durch Doppelpunkt getrennt. Die Tabelle
der Studenten besteht aus den Felderen Matrikelnummer,
Nachname, Vorname(n), Studiengang und login.
Die Tabelle der Vorlesungen besteht aus Vorlesungs-ID (z.B. CS113)
und dem Titel der Vorlesung.
In einer weiteren Tabelle soll verwaltet werden, welcher Student welche
Scheine erworben hat. Die Tabelle enthält eine Zeile pro ausgestelltem
Schein und jede solche Zeile besteht aus dem login des Studenten und der
ID der Vorlesung, in der der Schein erworben wurde.
Schreibt ein Programm, das es einem Übungsleiter erlaubt, neue Einträge
in dieser Tabelle zu machen. Das Programm soll genau zwei
Kommandozeilenargumente übergeben bekommen:
- Die Vorlesungs-ID und
- eine durch Komma getrennte Liste von Logins der Studenten, die in
dieser Vorlesung einen Schein erworben haben.
Euer Programm soll überprüfen, ob die Logins und die Vorlesungs-ID
gültig sind und dann die entsprechenden Einträge in der Tabelle
machen. Dabei soll sichergestellt sein, daß in der Tabelle keine doppelten
Einträge auftauchen.
Jetzt soll ein Programm geschrieben werden, mit dem für ausgewählte
Studenten eine Übersichtsliste erstellt wird, aus der hervorgeht,
welcher Student welche Scheine hat. Die Liste soll pro Student eine
Zeile enthalten, die den (vollständigen) Namen des Studenten und
eine durch Komma getrennte Liste aller Vorlesungs-IDs, in denen der
Student einen Schein erworben hat, enthält. Die Liste der
Vorlesungs-IDs soll alphabetisch sortiert sein. Die Übersichtsliste
soll in eine Datei geschrieben werden. Die Auswahl der Studenten
erfolgt durch Eingabe der Logins über die Tastatur und nicht
über die Kommandozeile!
Christian Ehrhardt
2005-05-04