SS 1997 - Fachhochschule
Köln
Fachbereich Nachrichtentechnik
Matthias Groß
Abgabetermin für alle: Montag 16.06. 1997 im
DV-Labor (verlängert!)
In dieser letzten Programmieraufgabe sollen Sie das in der 6. Aufgabe erstellte Programm eines Vokabeltrainers ändern und komplettieren.
Es soll wiederum ein menuegesteuertes Programm zum Trainieren von Vokabeln geschrieben werden. Als Grundlage für die einfache Wort-zu-Wort-Abfrage dienen sogenannte "Vokabel-Dateien" (VOK-Dateien), die schon von der ersten Version verwaltet wurden.
Ein Beispiel für eine zu
verarbeitende Vokabel-Datei finden Sie hier auf
dem Server (DEUTENGL.VOK) (Achtung: Die Datei ist mit PKZIP archiviert
worden, also recht groß und kann nicht komplett eingelesen werden!).
Eine etwas leichtere Version, die von allen Programmen einzulesen ist,
findet sich unter DEUTENGL.VOK auch hier auf
unserem Server. Wer noch was experimentieren möchte findet andere
Quellen für Online Dictionaries z.B. bei auf der WWW-Seite http://www.fask.uni-mainz.de/user/wschmidt/onldict.htm.
Der Aufbau dieser VOK-Dateien entspricht dem folgenden einfachen Schema:
Aufbau V-Datei: (Dateiname: 4 Buchstaben 1. Sprache + 4 Buchstaben 2.Sprache + .VOK) Vokabeldatei Sprache1 - Sprache2 "Wort aus Sprache 1" "Übersetzung in Sprache 2" "Wort aus Sprache 1" "Übersetzung in Sprache 2" :
Hierbei ist wesentlich, daß die beiden Wörter bzw. Ausdrücke in der richtigen Reihenfolge und in evtl. zusätzlichen " " als lange Liste gespeichert sind. Bei den VOK-Dateien ist ausdrücklich zu beachten, daß für ein Wort evtl. mehr als eine Übersetzung existieren kann (insbesondere Beugungen von Verben) bzw. das einige Einträge doppelt vorkommen (das ist bei der Datei DEUTENGL.VOK auch wirklich der Fall!), was beim Abspeichern bzw. Laden der Datei aus bzw. in den Speicher geeignet zu berücksichtigen ist. Im Zusammenhang mit diesen VOK-Dateien soll das Programm zunächst die folgenden Aktionen menuegesteuert durchführen können:
Zur Speicherung der Vokabeln im Programm verwenden Sie eine Struktur für eine einzelne Vokabel und erzeugen einen Binärbaum der diese Daten speichern kann. Die Datentypen sind im Folgenden beispielhaft angegeben.
typedef struct { char *Wort; /* Das Wort */ char *Ueber; /* und die zugehörige Übersetzung */ int F; /* Anzahl falscher Übersetzungen */ int Typ; /* z.B. Typ der Vokabel mit 1= Verb, =Substantiv etc. */ } Vokabel;
typedef struct sTNode{ struct sTNode *left, /* Linker Nachkomme */ *right; /* Rechter Nachkomme */ Vokabel *Inhalt; /* Die an dieser Stelle gespeicherte Vokabel */ } TNode;
TNode *Vokabelliste; /* Die gespeicherten Vokabeln (Wurzel des Baumes) */
Das Programm sollte unter folgenden Prämissen erstellt werden.
Eine kurze Dokumentation und eine Beschreibung, wie die Daten abgespeichert sind, runden das Bild dieser Aufgabe dann ab. Weitere Informationen und Erläuterungen werden in der Vorlesung gegeben.