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
X

Fehler melden

X

Suche