This is an old revision of the document!
Zufallszahlen
Die JavaScript-Funktion Math.random()
liefert eine Zufallszahl zwischen 0 (inklusive) und 1 (exklusive).
Damit lassen sich aus ganzzahlige Zufallszahlen generieren (Funktion und Name sind der entsprechenden Python-Funktion nachempfunden):
// Liefert eine ganzzahlige Zufallszahl von 0 bis n-1 function randRange(n) { return Math.floor(Math.random()*n)); // floor rundet ab }
Buchstaben in Wörtern vertauschen
Es ist Ienhn wahrscheinlich bkeannt, dsas man Ttxee imemr ncoh flüsisg lseen knan, wnen zewi Buchstaebn innrehalb eenis Wtros vertaushct wreden. Irhe Aufgbae bhsteet nun dairn, ein Prmgraom zu progarmmieren, das eienn Txet so medifiziort.
Anleitung
Sie werden 5 Funktionen schreiben, die jeweils Teilaufgaben erfüllen. Testen Sie jede Funktion ausführlich, bevor Sie weiterfahren.
Schreiben Sie eine Funktion randIn(a,b)
, die eine ganzzahlige Zufallszahl zwischen a und b inklusive generiert.
Schreiben Sie eine Funktion vertausche(wort, a, b)
, die ein einem Wort die Buchstaben an zwei gegebenen Stellen vertauscht.
Z.B. soll vertausche('Buch', 1, 2)
den String Bcuh
liefern. Die Buchstaben im String sind von 0 bis Länge-1 indiziert.
Verwenden Sie dafür die String-Methode substring und den Zugriff auf einzelne Buchstaben mit eckigen Klammern.
Schreiben Sie eine Funktion wortwuerfeln
, die zufällig zwei innere Buchstaben vertauscht (wenn das Wort mindestens 4 Zeichen lang ist, ansonsten soll einfach das Wort zurückgegeben werden).
Diese Funktion soll die Funktionen randIn
und vertausche
aufrufen.
Schreiben Sie eine Funktion wortzeichen(zeichen)
die true oder false liefert, je nachdem, ob das zeichen
Teil eines Worts ist. Der Einfachheit halber betrachten wir nur Buchstaben von a-z als Teil eines Worts. Mit der String-Methode toLowerCase können Sie einen String in Kleinbuchstaben umwandeln, damit nur mit Buchstaben zwischen 'a' und 'z' verglichen werden muss.
Die letzte Funktion textwuerfeln(text)
soll Wörter innerhalb eines Texts verwürfeln und den neuen Text als Resultat zurückgeben.
Die Funktion soll wie folgt vorgehen:
- Man initialisiert das Resultat auf den Leerstring.
- Man hängt dem Text ein Nicht-Wortzeichen hinzu (z.B. den Leerschlag).
- Man merkt sich die letzte Position
lastOut
eines Zeichens, das nicht in einem Wort vorkommt. Anfangs ist das -1. - Man geht jede Position im Text durch:
- Ist es kein Wortzeichen, dann
- Das Wort zwischen
lastOut+1
und aktueller Position verwürfeln und dem Resultat anfügen. - Das aktuelle Zeichen dem Resultat anfügen
- Man entfernt das letzte Zeichen vom Resultat und gibt es zurück.