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

Implementierung

Der Verschlüsselungsalgorithmus

Das Verfahren zur Verschlüsselung von Nachrichten lässt sich mit folgendem Algorithmus beschreiben.

ALGORITHMUS verschluesselung:
Eingabe: text, blocklaenge
restText = text
neuerText = leere Zeichenkette
SOLANGE die Länge von restText größer als Null ist:
    teilwort = Anfang von restText mit der Länge blocklaenge
    restText = restText ohne den Anfang mit der Länge blocklaenge
    WENN neuerText die leere Zeichenkette ist:
        neuerText = Umkehrung von teilwort
    SONST:
        neuerText = neuerText, dann ein Leerzeichen, dann die Umkehrung von teilwort
Ausgabe: neuerText

Aufgabe 1

Implementiere den Algorithmus und teste die Implementierung mit verschiedenen Eingaben.

Die Eingabe durch den Nutzer funktioniert mit dem input("...")-Befehl in z.B. folgendem Schema:

text = input("Gib einen Text ein: ")
Achte darauf, dass du bei der Blocklänge eine Zahl (einen Integer) verwenden möchtest und keinen String. Mehr zu diesem Thema findest du hier.

Der Befehl len(text) liefert die Länge des Strings text.

Du musst im Algorithmus in den Zeilen 6 und 7 auf einen Teilbereich einer Zeichenkette (die ersten ... Zeichen sowie die übrigen Zeichen) zugreifen.

Willst du auf die ersten 5 Zeichen einer Zeichenkette text zugreifen, so kannst du den Befehl text[0:5] (oder kurz text[:5]) nutzen. Das sind dann die Zeichen von Beginn bis vor dem Index 5. Für alle darauffolgenden Zeichen nutzt du text[5:len(text)] (oder kurz text[5:]).

Mit wenigen Anpassungen kannst du damit die Zeilen 6 und 7 umsetzen.

Zeichenketten lassen sich mit dem +-Zeichen aneinanderhängen. Beispiel:

text = "Alles" + " " + "Gute"

Nutze den Befehl print(...).

Aufgabe 2

Entwickle einen Algorithmus zum Entschlüsseln. Implementiere den Algorithmus.

Suche

v
6.3.1.2.5.4
www.inf-schule.de/imperative-programmierung/python/projekte/kontrollstrukturen/zeichenketten/implementierung
www.inf-schule.de/6.3.1.2.5.4
www.inf-schule.de/@/page/VfbsGD14FlkFmhhS

Rückmeldung geben