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 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 2 (b) eine Funktionsdefinition für die Funktion verschluesselterText.

Suche

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

Rückmeldung geben