i

Entwicklung einer Funktionsdefinition

Eine Funktionsdefinition entwickeln

Ziel ist es, das Umkehrverfahren mit einer Funktion verschluesselterText mit folgendem Verhalten zu implementieren.

Signatur:
verschluesselterText: String -> String 
Beispiele:
verschluesselterText "MORGEN" -> "ROMNEG"
verschluesselterText "HITZEFREI" -> "ZTIHEIERF"
...

Hier noch einmal das Umkehrverfahren - verdeutlicht anhand von zwei Beispielen:

MORGEN -> MOR GEN -> ROM NEG -> ROMNEG
HITZEFREI -> HITZ E FREI -> ZTIH E IERF -> ZTIHEIERF

Die einzelnen Schritte des Umkehrverfahrens lassen sich mit geeigneten vordefinierten Funktionen zur Verarbeitung von Zeichenketten durchführen.

  • Mit der Funktion String.length kann man die Länge einer Zeichenkette bestimmen.
  • Mit der Funktion String.left kann man den Anfangsteil einer Zeichenkette bestimmen.
  • Mit der Funktion String.right kann man den Endteil einer Zeichenkette bestimmen.
  • Mit der Funktion String.reverse kann man eine Zeichenkette umkehren.
  • Mit der Funktion String.append oder ++ kann man Zeichenketten aneinanderhängen.

Aufgabe 1

Betrachte den Fall, dass eine Zeichenkette eine gerade Länge hat.

(a) Teste den folgenden Ausdruck in der REPL. Erläutere, was er beschreibt.

> String.reverse (String.left (String.length "MORGEN" // 2) "MORGEN")
...

(b) Ergänze den Ausdruck aus (a) so, dass damit Zeichenketten mit einer geraden Länge korrekt verschlüsselt werden..

> String.reverse (String.left (String.length "MORGEN" // 2) "MORGEN") ++ ...
...

Aufgabe 2

Entwickle mit Hilfe des Ausdrucks aus Aufgabe 1 (b) eine Funktionsdefinition für die Funktion verschluesselterText.

Suche

v
8.2.2.4.1.1.1
www.inf-schule.de/deklarativ/fp_elm/elm_programme/teilausdruecke/umkehrverfahren/lernstrecke/funktion
www.inf-schule.de/8.2.2.4.1.1.1
www.inf-schule.de/@/page/yiztW1cfUOTSkVZu

Rückmeldung geben