Dr. Andreas Borchert Abteilung Angewandte Informationsverarbeitung 16.06.2005
Norbert Heidenbluth Blatt 8


Uni Logo



Allgemeine Informatik II für Mathematiker/Wirtschaftsmathematiker
(SS 2005)



Abgabetermin: 23. Juni 2005

Aufgabe 10: Der Oberon-Wissenstester (10 Punkte)

Na, welche Bundesländer hat denn die Bundesrepublik Deutschland? Und welches sind die Mitgliedsstaaten der EU? Können Sie alle Staaten der USA aufzählen? Oder die von Mexiko?

Sehen Sie -- es gibt noch viel zu lernen. Da kommt doch die Informatik-Übungsaufgabe in dieser Woche wieder ungemein gelegen.

Worum geht es?

Aufgabe in dieser Woche ist es, das Programm ``KnowledgeTester'' zu schreiben. Dieses liest aus einer (als Argument angegebenen Datei) Begriffe ein (z.B. alle deutschen Bundesländer) und legt sie in einer Hash-Tabelle ab.

Der Benutzer des Programms soll nun möglichst viele (idealerweise: alle) Begriffe nacheinander (in beliebiger Reihenfolge) eingeben. Das Spiel ist zu Ende, wenn entweder alle Begriffe vom Benutzer eingegeben wurden oder er aufgibt (CTRL-D). Im letztgenannten Fall werden dann noch alle nicht erkannten Begriffe ausgegeben.

Anforderungen an Ihr Programm

Die Binaries sowie zwei Testdatensätze stehen Ihnen wie immer auf unserem FTP-Server zur Verfügung.

Aufgabe 11: Die Deluxe-Version (3 + 2 Bonuspunkte)

Auch in dieser Woche gibt es wieder einige Bonuspunkte zu erzielen, wenn Sie eine (oder beide) der folgenden Erweiterungen an Ihrem Programm vornehmen.

  1. Modularisieren Sie Ihr Programm geeignet! Dabei dürfen bzw. sollten Sie auch auf zur Verfügung stehenden Datenstrukturen LinearLists und HashTable aus der Vorlesung und von Übungsblatt 6 zurückgreifen. (3 Punkte)

  2. Gestalten Sie Ihr Programm so, daß es auch alternative Antworten zulässt. Z.B. könnte es statt der Eingabe von ``Großbritannien'' auch die Eingabe von ``Vereinigtes Königreich'' akzeptieren. Hierzu müsste die Datensammlung entsprechend erweitert werden, z.B. könnten alle alternativen Begriffe durch Doppelpunkt getrennt in einer Zeile stehen (``Großbritannien:England''). (2 Punkte)

Beispiel:

Im Folgenden nun noch ein Beispieldurchlauf des Programms (so, wie es in Aufgabe 10 gefordert ist):

   theseus$ ./KnowledgeTester bundeslaender 
   Bitte nenne mir (nacheinander) alle Bundeslaender der BRD!
   ? Bayern
   Gut, noch 15 bleiben uebrig!
   ? Nordrhein-Westfalen
   Gut, noch 14 bleiben uebrig!
   ? Baden-Wuerttemberg
   Gut, noch 13 bleiben uebrig!
   ? Bayern
   Das wurde bereits frueher genannt!
   ? Schleswig-Holstein
   Gut, noch 12 bleiben uebrig!
   ? Oesterreich
   Das gehoert nicht dazu!
   ? (CTRL-D)
   Es blieben 12 von 16 uebrig, und zwar:
   Sachsen
   Mecklenburg-Vorpommern
   Sachsen-Anhalt
   Hamburg
   Saarland
   Rheinland-Pfalz
   Thueringen
   Berlin
   Bremen
   Hessen
   Brandenburg
   Niedersachsen
   theseus$

Viel Erfolg!



Norbert Heidenbluth 2005-06-15