Experimente in der REPL zum Umkehrverfahren
Umkehr-Verfahren
Auf dieser Seite werden wir uns damit beschäftigen, wie man Zeichenketten nach dem Umkehr-Verfahren verschlüsseln kann, z.B.:
HALLO -> ZOLLAHA ALLESKLAR -> ZRALKSELLAA
Zeichenketten verarbeiten
Zeichenketten werden in Elm mit doppelten Hochkommata dargestellt. Sie sind Daten vom Typ String
.
Zur Verarbeitung von Zeichenketten gibt es eine Vielzahl an vordefinierten Funktionen. Der folgende Dialog verdeutlicht eine kleine Auswahl. Weitere Funktionen findest du auf Elm - String.
> String.reverse "HALLO"
"OLLAH" : String
> String.append "HAL" "LO"
"HALLO" : String
Aufgabe 1
(a) Führe in der REPL entsprechende Dialoge durch, um die im Dialog oben verwendeten vordefinierten Funktionen zu erkunden.
(b) Beschreibe, was die Funktionen String.reverse
und String.append
leisten.
Gehe dabei auch auf die Signatur der Funktionen ein.
Aufgabe 2
Mit dem folgenden Ausdruck soll die Zeichenkette "HALLO"
nach dem Umkehrverfahren verschlüsselt werden.
Das Ergebnis stimmt jedoch nicht. Entwickle einen korrekten Ausdruck.
> String.append "A" (String.append "Z" (String.reverse "HALLO"))
"AZOLLAH" : String -- richtig wäre "ZOLLAHA"
Aufgabe 3
Hier zwei weitere Ausdrücke zum Verschlüsseln die Zeichenkette "HALLO"
. Recherchiere auf
Elm - String
die Bedeutung der vordefinierten Funktion String.cons
. Erkläre den Unterschied zur korrekten Lösung in Aufgabe 2.
> String.cons 'Z' (String.append (String.reverse "HALLO") "A")
"ZOLLAHA" : String
> String.cons 'Z' (String.append (String.reverse "HALLO") (String.cons 'A' ""))
"ZOLLAHA" : String