Themenbereich: Records und klein(st)e UNIX-Datenbanken
Ferienaufgabe 4: Klausurergebnisse online
Gegeben sei die Datei punkte.txt, die die
Ergebnisse einiger Klausuren enthalte. Diese Datei besitzt den folgenden
Aufbau (einer kleinen UNIX-Datenbank):
MatrikelNummer:Name:Vorlesung:erreichte Punktzahl
Das bedeutet: jede Zeile beeinhaltet einen Datensatz, dessen einzelne
Felder durch einen Doppelpunkt (":") voneinander getrennt sind.
Aufgaben:
- Schreiben Sie ein Oberon-Programm, daß die Datei
punkte.txt einliest und "im ganzen Satz"
auf der Standardausgabe ausgibt.
- Unterscheiden Sie dabei auch zwischen Klausuren, die bestanden
wurden und solchen, die nicht bestanden wurden (nach einem
Kriterium Ihrer Wahl).
Mit "im ganzen Satz" sei hier gemeint, daß die Informationen pro
Datensatz in einer Formulierung Ihrer Wahl zusammenhängend ausgegeben
werden. Also zum Beispiel so:
Beispiel:
Heidi Mueller mit der Matrikelnummer 12345 hat in der Klausur
zur Vorlesung Analysis I << 43 >> Punkte erreicht
und sie damit nicht bestanden!
Stefan Meier mit der Matrikelnummer 23456 hat in der Klausur
zur Vorlesung Lineare Algebra << 80 >> Punkte erreicht
und sie damit bestanden!
Hans Wurst mit der Matrikelnummer 34567 hat in der Klausur
zur Vorlesung Allgemeine Informatik I << 100 >> Punkte erreicht
und sie damit bestanden!
Eva Schulze mit der Matrikelnummer 45678 hat in der Klausur
zur Vorlesung Analysis I << 60 >> Punkte erreicht
und sie damit bestanden!
Hanna Schmitz mit der Matrikelnummer 56789 hat in der Klausur
zur Vorlesung Analysis I << 74 >> Punkte erreicht
und sie damit bestanden!
Hinweise:
- Auch wenn es nicht von gutem Stil zeugt, so dürfen Sie der
Einfachheit halber den Dateinamen "punkte.txt" in Ihrem Programm
"fest verdrahten", d.h. als Konstante vereinbaren.
- Da der Themenbereich dieser Aufgabe in erster Linie zum Umgang
mit Records zählt, sollten Sie sich vor dem Programmieren
zunächst Gedanken über eine sinvolle Datenstruktur
machen.
- Sie können davon ausgehen, daß in einer Datei nicht
mehr als 150 Datensätze stehen werden.