Übungen - Modularisierung
Aufgabe 1: Baustein zur Erzeugung einer Zuordnungstabelle
Ziel ist es, mit einer Funktion Zuordnungstabellen zu erzeugen, die dann zur Verschlüsselung benutzt werden können. Die Funktion soll als Baustein mit einer Schnittstellenbeschreibung bereit gestellt werden.
(a) Entwickle eine Funktion, mit der man eine Zuordnungstabelle per Zufall erzeugen kann.
Benutze hierzu die vordefinierte Funktion randint
des Moduls random
.
Beachte, dass die Zuordnungstabelle eindeutig sein soll.
(b) (schwierig) Die Zuordnungstabelle wird als Schlüssel beim Ver-und Entschlüsseln benutzt.
Dieser Schlüssel hat den Nachteil, dass man ihn sich nicht gut merken kann.
Es gibt eine einfache Möglichkeit, eine unregelmäßig erscheinende Zuordnungstabelle aus
einen Schlüsselwort zu erzeugen.
Als Schlüsselwort wählen wir INITIALISIERUNGVONVARIABLEN
. Dieses
Schlüsselwort benutzen wir, um die zugeordneten Buchstaben zu bestimmen.
Zuerst werden alle mehrfach vorkommenden Buchstaben gelöscht. Es bleibt die
Zeichenkette I N T A L S E R U G V O B
. Diese benutzen wir für den Anfang der
Codierungstabelle. Die restlichen Buchstaben in der Codierungstabelle ergänzen wir nach
einem festen Schema: Hier sind die noch nicht benutzten Buchstaben des Alphabets der
Reihe nach hinzugefügt worden. Alles klar?
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 | | | | | | | | | | | | | | | | | | | | | | | | | | I N T A L S E R U G V O B C D F H J K M P Q W X Y Z
Entwickle eine Funktion, mit der man aus einem Schlüsselwort mit dem beschriebenen Verfahren die Zuordnungsliste bestimmt.
(c) (schwierig) Denke dir selbst ein Verfahren aus, mit dem man eine ungeordnet erscheinende Zuordnungstabelle aus einem Schlüsselwort erzeugen kann.