zurück

C++

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Kleines Projekt 2: Zufallstext

In diesem kleinen Projekt sollen zufällige Texte erzeugt (generiert) werden. Zu diesem Zweck sind geeignete Verfahren zu entwickeln.

Die generierten Texte werden normalerweise völlig sinnlos sein. Es wäre schon ein riesiger Zufall, wenn einmal etwas Sinnvolles dabei herauskäme, vermutlich weniger wahrscheinlich als 6 Richtige im Lotto.

Das fertige Programm soll zufällig viele Wörter mit jeweils zufälliger Länge erzeugen. Am Ende des Zufallstextes soll ein Punkt stehen. Dieses Programm erwartet somit keine Eingaben. Es fängt unmittelbar nach dem Start an zu "plappern". Mit etwas Glück lässt sich ein solcher Plappertext auch lesen.

Wenn zufällige Wörter generiert werden sollen, dann sind die Buchstaben jedes Wortes ebenso zufällig auszuwählen. Sie brauchen also die bereits betrachtete Zufallsfunktion rand().

Eigenschaften des erzeugten Zufallstextes

  1. Der Zufallstext soll einen Satz mit einem Punkt unmittelbar hinter dem letzten Wort und ohne zusätzliche Satzzeichen (Interpunktion) ergeben.

  2. Der Satz soll aus 3 bis 12 Wörtern bestehen.

  3. Jedes Wort soll 2 bis 12 Buchstaben beinhalten.

  4. Falls der Satz länger als eine Bildschirmzeile (80 Zeichen) ist, soll der Zeilenumbruch zwischen zwei Wörtern ohne Leerzeichen erfolgen. Kein Wort soll also vom Zeilenumbruch in zwei Teile zerlegt werden.

  5. Die Wörter aus 2 bis 5 Buchstaben sollen die dreifache Wahrscheinlichkeit gegenüber den längeren besitzen.

  6. Mindestens jeder dritte Buchstabe soll ein Vokal (Selbstlaut) sein.

  7. Nach spätestens 3 Vokalen soll ein Konsonant (Mitlaut) folgen.

Die oben aufgeführten Texteigenschaften sind unterschiedlich schwierig zu erfüllen. Deshalb sollten Sie das Produkt in Stufen erstellen.

Stufe 1: Ausschließlich Eigenschaften 1 bis 3

Stufe 2: Zusätzlich Eigenschaft 4

Stufe 3: Zusätzlich Eigenschaft 5

Stufe 4: Zusätzlich Eigenschaft 6

Stufe 5: Zusätzlich Eigenschaft 7

Denken sie daran: Es gibt fast immer mehrere verschiedene Verfahren.
So wird es in diesem kleinen Projekt Verfahren geben, welche sich auf Sprachelemente stützen, die hier noch nicht behandelt wurden. Bei Bedarf sind somit stoffliche Ergänzungen einzuflechten.