SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Übungen zu Entwicklung objekt-orientierter Bibliotheken
Blatt 4 (7. 11. - 14. 11. 1997)


Aufgabe 7 (20 Punkte)

Schreiben Sie ein Oberon-Modul, das analog zum Vorlesungsbeispiel Collections eine Abstraktion definiert, und zwar für assoziative Arrays. Halten Sie sich dabei an das Interface-Record-Modell. Ein assoziatives Array, aufgrund der typischen Implementierungsart auch hash genannt, ist eine ungeordnete Menge von Objekten, auf die über eindeutige Namen zugegriffen wird.

Folgende Operationen sollte die Abstraktion unterstützen:

Verwenden Sie für die Schlüssel den Datentyp String aus dem Bibliotheksmodul ConstStrings (siehe Manualseite).

Schreiben Sie ein weiteres Oberon-Modul, das diese Abstraktion auf einfache, nicht notwendigerweise effiziente Weise in einer dynamischen Datenstruktur implementiert.

Fügen Sie ein Hauptprogramm hinzu, das diese Implementierung benutzt, um alle in der Standardeingabe mehrfach auftretenden Zeilen zu bestimmen. Die Ausgabe soll aus je einer ganzen Zahl (für die Häufigkeit), gefolgt von einem Tab-Zeichen (ASCII.tab) und der Originalzeile für jede mindestens zwei Mal eingegebene Zeile bestehen, wobei die Reihenfolge gleichgültig ist.


SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Martin Hasch, November 1997