Anwendung - Caesar-Verfahren
Buchstaben verschieben
Beim Caesar-Verfahren werden (Groß-) Buchstaben duch (Groß-) Buchstaben ersetzt, die im Alphabet um 3 Einheiten verschoben sind. Der Buchstabe 'G' wird also durch 'J' ersetzt, der Buchstabe 'Y' durch den den zyklisch im Alphabet verschobenen Buchstaben 'B'.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | | | | | | | | | | | | | | | | | | | | | | | | | | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Eine Buchstabenverschiebung lässt sich mit Hilfe vordefinierter Funktionen so realisieren:
Char.toCode 'Y' -> 89 89 - 65 -> 24 24 + 3 -> 27 modBy 26 27 -> 1 65 + 1 -> 66 Char.fromCode 66 -> 'B'
Aufgabe 1
Entwickle eine Implementierung dieser Buchstabenverschiebung. Benutze dabei den Pipe-Operator oder den Kompositionsoperator.
Einen Text verschlüsseln
Die Verschlüsselung ganzer Zeichenketten lässt sich in mehrere Schritte aufteilen
String.toList "HALLO" -> ['H','A','L','L','O'] List.map (... Buchstabenverschiebung ...) ['H','A','L','L','O'] -> ['K','D','O','O','R'] String.fromList ['K','D','O','O','R'] -> "KDOOR"
Aufgabe 2
Implementiere diese Verschlüsselung von Zeichenketten. Benutze dabei den Pipe-Operator oder den Kompositionsoperator.