Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

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.

Suche

v
8.2.2.6.3.1.2
www.inf-schule.de/deklarativ/fp_elm/elm_programme/funktionenerzeugen/komposition/lernstrecke/anwendung
www.inf-schule.de/8.2.2.6.3.1.2
www.inf-schule.de/@/page/BILYKci5lS16yCW5

Rückmeldung geben