Projekt - Modellierung
Zuordnungstabelle
Zunächst ist zu klären, wie eine Zuordnungstabelle mit Datenstrukturen beschrieben werden soll.
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 | | | | | | | | | | | | | | | | | | | | | | | | | | G O Z L N C R E W K A X B J F Q Y I S M V D U P H T
Eine einfache Möglichkeit besteht darin, die Zuordnungstabelle mit Hilfe einer Liste darzustellen. In dieser Liste sind die den Buchstaben des Alphabets zugeordneten Buchstaben der Reihe nach aufgeführt.
['G', 'O', 'Z', 'L', 'N', 'C', 'R', 'E', 'W', ..., 'T'] 0 1 2 3 4 5 6 7 8 ... 25 A B C D E F G H I ... Z
Häufigkeitstabelle
Auch eine Tabelle, in der eingetragen ist, wie häufig die jeweiligen Buchstaben in einem Text vorkommen, lässt sich einfach mit einer Liste beschreiben:
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 | | | | | | | | | | | | | | | | | | | | | | | | | | 3 1 0 1 9 1 2 3 1 0 1 2 3 6 1 0 0 4 5 5 1 0 0 0 0 0
In dieser Liste sind die absoluten Häufigkeiten der Buchstaben des Alphabets der Reihe nach aufgeführt.
[ 3, 3, 1, 0, 1, 9, 1, 2, 3, ..., 0] 0 1 2 3 4 5 6 7 8 ... 25 A B C D E F G H I ... Z
zeichenCodieren
def zeichenCodieren(c, Z): ... return ...
Die Funktion zeichenCodieren
erzeugt aus einem übergebenen Buchstaben c
und
einer übergebenen Zuordnungsliste Z
den zum Buchstaben zugeordneten Buchstaben.
Beispiel:
>>> zeichenCodieren('A', ['G', 'O', ...]) 'G'
zeichenDecodieren
def zeichenDecodieren(c, Z): ... return ...
Die Funktion zeichenDecodieren
erzeugt aus einem übergebenen Buchstaben c
und
einer übergebenen Zuordnungsliste Z
umgekehrt den Urbildbuchstaben.
Beispiel:
>>> zeichenDecodieren('O', ['G', 'O', ...]) 'B'
textCodieren
def textCodieren(text, Z): ... return ...
Die Funktion textCodieren
erzeugt aus einem übergebenen Text text
und
einer übergebenen Zuordnungsliste Z
den zugehörigen Geheimtext.
Beispiel:
def textDecodieren(text, Z): ... return ...
textDecodieren
Die Funktion textDecodieren
erzeugt aus einem übergebenen Text text
und
einer übergebenen Zuordnungsliste Z
den zugehörigen Klartext.
Beispiel:
>>> textCodieren('GO', ['G', 'O', ...]) 'AB'
textAnalysieren
def textAnalysieren(text): ... return ...
Die Funktion textAnalysieren
erzeugt aus einem übergebenen Text text
und
eine Häufigkeitsliste.
Beispiel:
>>> textAnalysieren('ABBA') [2, 2, 0, ...]
haeufigkeitenAusgeben
def haeufigkeitenAusgeben(HListe) ...
Die Funktion haeufigkeitenAusgeben
gibt aus einer übergebenen Häufigkeitsliste HListe
die Häufigkeitstabelle aus.
Beispiel:
>>> haeufigkeitenAusgeben([2, 2, 0, ...]) A: 2 B: 2 C: 0 ...
textLaden
def textLaden(): f = open('Test.py', 'r') text = f.read() return text
textVorbereiten
def textVorbereiten(text):
grossText = text.upper()
bereinigterText = ''
for c in grossText:
if (ord(c) >= 65) and (ord(c) <= 90):
bereinigterText = bereinigterText + c
return bereinigterText