From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog2/Prakt4/index.htm | 170 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 Bachelor/Prog2/Prakt4/index.htm (limited to 'Bachelor/Prog2/Prakt4/index.htm') diff --git a/Bachelor/Prog2/Prakt4/index.htm b/Bachelor/Prog2/Prakt4/index.htm new file mode 100644 index 0000000..b94d773 --- /dev/null +++ b/Bachelor/Prog2/Prakt4/index.htm @@ -0,0 +1,170 @@ + + + + +Praktikum 3 + + + + + + + + + + + + + +
 
FH Darmstadt  +
FB Informatik  +
Prof.Dr. H.P.Weber
+
Programmieren II  +
Praktikum
+
+
4
+
+ +
+ + + + +
Ziel: +Sie sollen die Datenstruktur Baum in Form einer Template-Klasse anwenden können. +
+ +
+ + + + + + + +
+

+1    Wörterliste

+
+Zu einer gegebenen, beliebigen Textdatei soll eine Liste der darin +auftretenden Wörter erstellt werden. Alle Wörter werden dabei +alphabetisch sortiert in eine zweite Textdatei ausgegeben. Jedes +Wort soll nur einmal in der Liste wiedergegeben werden; zusätzlich +soll angegeben werden, wie oft es in der Ursprungsdatei vorkommt. Die Einträge +in der Ausgabedatei sollen formatiert sein (s. Beispiel). Auf der Konsole soll +außerdem die Gesamtzahl der Wörter und die Anzahl der unterschiedlichen in der Eingabedatei +auftretenden Wörter ausgegeben werden. +
Ein Beispiel : +
+ + + + + + + + + + + +
Eingabedatei:Ausgabedatei:
Zu einer gegebenen, beliebigen Textdatei soll eine Liste der darin +auftretenden Wörter erstellt werden. Alle Wörter werden dabei +alphabetisch sortiert in eine zweite Textdatei ausgegeben.Alle..........................1 +Liste.........................1 +Textdatei.....................2 +Wörter........................2 +Zu............................1 +alphabetisch..................1 +auftretenden..................1 +ausgegeben....................1 +beliebigen....................1 +dabei.........................1 +darin.........................1 +der...........................1 +eine..........................2 +einer.........................1 +erstellt......................1 +gegebenen,....................1 +in............................1 +soll..........................1 +sortiert......................1 +werden........................1 +werden........................1 +zweite........................1
+ +
+ + + + +

Technische Hinweise: +

+ + + + +
+ + + + +
+

+2    Verbesserte Wörterliste (fakultativ)

+ +

Verbessern Sie Ihr Programm aus Aufgabe 1, indem Sie echte Wörter erkennen +(also Satzzeichen und Ziffern entfernen) und eine wirkliche lexikalische +Sortierung vornehmen (also groß und klein geschriebene Wörter nicht separat +sortieren sowie die Umlaute richtig einsortieren). Realisieren Sie zur Lösung dieser Aufgaben +eine Klasse GermanWord, +die es Ihnen erlaubt, die Template-Klassen aus Aufgabe 1 unverändert zu +übernehmen, indem Sie im Anwendungsprogramm jetzt mit einem Tree<GermanWord> - Objekt arbeiten. +Ihre GermanWord-Klasse sollte folgende Methoden enthalten: +

    +
  • +Der Konstruktor übernimmt einen string und entfernt alle Satzzeichen und +Ziffern, so dass nur noch echte Wörter übrig bleiben. Verwenden Sie hierzu +Methoden +der string-Klasse +wie find_first_of und replace.
  • +Die überladenen Operatoren operator< und operator> sorgen dafür, dass groß und +klein geschriebene Wörter nicht wie bei der einfachen ASCII-Code-Sortierung separat +sortiert werden und dass die Umlaute richtig +einsortiert werden (also z.B. 'ä' unter 'a').
  • +Eine Methode isEmpty sollte vorhanden sein, damit im Anwendungsprogramm nur +nicht-leere GermanWord-Objekte (also keine, die nur einen +leeren string enthalten) in den Tree eingefügt werden können.
  • +Ein cast-Operator operator string  soll vorhanden sein, damit der Tree aus +Aufgabe 1 unverändert übernommen werden kann (und GermanWord-Objekte wenn nötig +implizit in strings gewandelt werden).
+ + + \ No newline at end of file -- cgit v1.2.3