Der ADT Datei

Arbeitsmaterial zum Vortrag "Dateiarbeit mit Oberon V4"
von W. Arend
ThILLM-Fachtagung "Oberon-Das neue Pascal" 17.-19.5.2001

1. Grundgedanken zur Datenstruktur

Ein Datei-(File-)Typ besteht aus einer Folge gleichartiger Komponenten, stellt also aus der Sicht der Datenstrukturierung eine iterative Datenstruktur dar. Im Gegensatz zur bereits bekannten iterativen Struktur ARRAY gibt es hier jedoch keine feste Komponentenzahl, die sich gleichzeitig im Hauptspeicher befindet und auf die über eine Positionsnummer beliebig zugegriffen werden kann. Die Komponenten eines Files sind in der Regel Datensätze (RECORDs) und werden i.A. sequentiell auf einem externen Datenträger abgespeichert. Dabei nutzen die Zugriffsroutinen die Dienste der Datenverwaltung des jeweiligen Betriebssystems und legen die dafür nötigen Verwaltungsinformationen in sogenannten "Filesteuerblöcken" (FCB) ab.

2. Pädagogische Argumente

Das Verständnis für und die Nutzung von abstrakten Datentypen ist Inhalt des Lehrplan-Themas 8. Der Dateityp bietet in Vorbereitung auf die Projektarbeit interessante Möglichkeiten, dieses Wissen zu vertiefen und gleichzeitig verschiedene Iterations- und Sortierverfahren zu festigen. Der Schüler lernt Compilerfehler vom Schweregrad Warnung" kennen und werten. Durch Vorgabe geeigneter Struktogramme sind auch komplexere Algorithmen von Schülern beherrschbar.

3. Realisierungskonzeption

Die dem ADT zugrunde liegenden Objekte der Module SYSTEM und Files bleiben nach außen verborgen.(information hiding) Der Nutzer importiert zusätzlich nur den Modul SEA. SEA exportiert den ADT Datei, der für beliebig viele Filevariablen verwendet werden kann,sowie Zugriffsmethoden, die an die Dateiarbeit in Turbo-Pascal angelehnt sind. Die Initialisierung der Filevariablen geschieht durch die Prozedur Assign und sollte stets im Initialisierungsteil des Nutzungsmoduls erfolgen.

4. Nutzungshinweise

Die im Oberon-Modul SEA realisierte satzweise Ein- und Ausgabe benötigt für jede Datei eine globale Filevariable vom Typ Datei, mindestens eine Satzvariable, deren Datentyp festzulegen ist und deren Satzlänge bei der Modulinitialisierung mittels Assign im Filesteuerblock abgelegt wird.
Im Unterschied zu der bei Oberon favorisierten Arbeit mit Textfiles, werden die Komponenten der Datensätze in interner Form (gemäß ihrem Komponententyp) in der Datei gespeichert. Datenkonvertierungen sind somit nur noch bei der Primärdaten Ein- und Ausgabe nötig!
Die Methoden (Zugriffsroutinen) des ADT Datei sind an die Dateiarbeit mit Turbo-Pascal angelehnt und werden in SEA.Tool beschrieben. Für die wichtigsten Methoden veranschaulichen die Gif-Dateien EARout1 und EARout2 deren Wirkungsweise. Die Grundoperationen der Dateiarbeit können an den Moduln ErAn.Mod (Erstellen und Anzeigen) und ErwSort.Mod (Erweitern und Sortieren) studiert werden. Die verwendeten Algorithmen sind in Form von Struktogrammen dargestellt und können mittels ErAn.Tool bzw. ErwSort.Tool angezeigt werden. In den Tools sind insbesondere auch Testdaten vorbereitet, die jederzeit ergänzt und modifiziert werden können.

Bitte beachten Sie, dass nach dem Entpacken der Zip-Datei Datei.Zip nur die Oberon-Quelltexte zur Dateiarbeit vorliegen, alle Moduldateien also zunächst mit Oberon V4 übersetzt werden müssen.

Für Hinweise, Fehlerkorrekturen und Verbesserungsvorschläge bin ich sehr dankbar und würde mich über eine Mail freuen.

W.Arend@Bergschule.eic.th.schule.de