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

Ein Verschlüsselungsprogramm

Verallgemeinerung eines Programms zur Caesar-Verschlüsselung

Das folgende Programm verschlüsselt Texte nach der Caesar-Methode. Ziel ist es, das Programm so zu verallgemeinern, dass man es zur Verschlüsselung mit der Verschiebemethode (mit beliebigen Verschiebezahlen) benutzen kann.

text = 'Alles Käse!'
print(text)
textNeu = ''
for zeichen in text:
    if ord(zeichen) >= ord('A') and ord(zeichen) <= ord('Z'):
        # zeichen ist ein Großbuchstabe
        textNeu = textNeu + zeichen
    elif ord(zeichen) >= ord('a') and ord(zeichen) <= ord('z'):
        # zeichen ist ein Kleinbuchstabe
        neuesZeichen = chr(ord(zeichen)-32)
        textNeu = textNeu + neuesZeichen
    elif zeichen == 'Ä' or zeichen == 'ä':
        textNeu = textNeu + 'AE'
    elif zeichen == 'Ö' or zeichen == 'ö':
        textNeu = textNeu + 'OE'
    elif zeichen == 'Ü' or zeichen == 'ü':
        textNeu = textNeu + 'UE'
    elif zeichen == 'ß':
        textNeu = textNeu + 'SS'
klartext = textNeu
print(klartext)
geheimtext = ''
for zeichen in klartext:
    zahl = ord(zeichen)
    neuezahl = zahl + 3
    if neuezahl > ord('Z'):
        neuezahl = neuezahl - 26
    neuesZeichen = chr(neuezahl)
    geheimtext = geheimtext + neuesZeichen
print(geheimtext)
klartext = ''
for zeichen in geheimtext:
    zahl = ord(zeichen)
    neuezahl = zahl - 3
    if neuezahl < ord('A'):
        neuezahl = neuezahl + 26
    neuesZeichen = chr(neuezahl)
    klartext = klartext + neuesZeichen
print(klartext)

Aufgabe 1

Ändere das Programm so ab, dass man es zur Verschlüsselung mit beliebigen Verschiebezahlen benutzen kann.

Zerlegung in Verarbeitungseinheiten

Das oben gezeigte Programm ist bereits recht umfangreich. Wenn man sich intensiv damit auseinandergesetzt hat, kann man es noch recht gut überblicken.

Wenn Programme aber weiter wachsen - z.B. auf mehrere Millionen Programmzeilen -, dann kann keiner mehr alle Details eines Programms überblicken. Man benötigt dann Verfahren, um das Ganze in übersichtliche Programmeinheiten zu zerlegen.

Aufgabe 2

Zerlege das oben gezeigte Programm zur Caesar-Verschlüsselung (bzw. das abgeänderte Programm zur Verschlüsselung mit dem Verschiebeverfahren) in sinnvolle Einheiten. Verdeutliche die Zerlegung durch Kommentare.

X

Fehler melden

X

Suche