Prozeduren mit Zeichenketten

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

Inhaltsverzeichnis

Weitere Selektoren für Zeichenketten

In Anlehnung an die Selektoren car / cdr für Listen sollen zunächst analoge Selektoren für Zeichenketten entwickelt werden. Dabei ist genau auf deren Definitions- und Wertebereich zu achten. Man spricht in diesem Zusammenhang von der Signatur einer Prozedur:

Beispiel:

string-car:
String car.GIF

String cdr.GIF

String last.GIF

Generierung von Benutzernamen und Passwörtern

Der Administrator eines Computernetzwerkes möchte die Festlegung von Benutzernamen und Passwörtern für eine größere Anzahl von Benutzern automatisieren. Dazu legt er fest:

  • Der Benutzername setzt sich aus den ersten drei Buchstaben des Vornamens und dem kompletten Nachnamen zusammen. Diese Zeichenkette wird grundsätzlich klein geschrieben.
  • Das Passwort zur Erstanmeldung soll aus dem ersten Buchstaben des Vornamens und dem letzten Buchstaben des Nachnamens bestehen. Beide Zeichen sollen Kleinbuchstaben sein und den Zahlenwert einschließen, der der Summe aller Zeichen im Vor- und Nachnamen entspricht.
Anmeldung.gif

Beispiel einer Netzwerkanmeldung

Beispiel:

> (benutzername "Beatrix "Berger")
--> "beaberger"
> (passwort "Beatrix "Berger")
--> "b13r"

Implementieren Sie beide Prozeduren.

Hinweis:

Im ProgrammingWiki können folgende Scheme-Prozeduren genutzt werden:

(string-downcase <zk>) ; ... Konvertierung einer Zeichenkette in Kleinbuchstaben
(string-upcase <zk>)   ; ... Konvertierung einer Zeichenkette in Großbuchstaben

Kfz-Kennzeichen

Das persönliche Kfz-Kennzeichen

Aktuelles deutsches Kfz-Kennzeichen aus dem Landkreis Rastatt (Baden-Württemberg)

Viele Autofahrer legen großen Wert auf ein ganz individuelles polizeiliches Kennzeichen an ihrem Fahrzeug. Häufig soll es die Anfangsbuchstaben des Vor- und Nachnamens sowie den Geburtstag und den Geburtsmonat beinhalten.

Schreiben Sie eine Prozedur, die die persönliche Daten entgegennimmt und das gewünschte Kennzeichen als Zeichenkette für den Landkreis Görlitz in Großbuchstaben zurückgibt.

Beispiel:

> (kennzeichen "Romy" "Berger" '(14 02 1988))
--> "GR-RB 142"

Das zufällige Kfz-Kennzeichen

Persönliche Wunsch-Kennzeichen sind leider oft vergeben. Nun muss das Kennzeichen aus zufällig gewählten Buchstaben und Zahlen generiert werden. Wir experimentieren deshalb mit Zufallszahlen. Dazu nutzen wir die einstellige Prozedur random:

Dabei stellen wir fest: (random <max>) gibt eine ganze Zufallszahl zurück mit .
Mit der nachfolgenden nullstelligen Prozedur zufallszahl lässt sich also eine zufällige ganze Zahl mit erzeugen:

Nun können wir auch zufällige Kfz-Kennzeichen generieren. Dazu vereinbaren wir:

  • Dem Landkreiskürzel "GR" sollen (zunächst) immer zwei zufällig gewählte Großbuchstaben folgen.
    Hier sind im Gegensatz zu realen Kennzeichen alle Buchstabenkombinationen zulässig.
  • Die darauf folgende Zufallszahl muss im Intervall liegen.

Erstellen Sie die nullstellige Prozedur zufallskennzeichen, die für den Landkreis Görlitz zufällige Kfz-Kennzeichen erzeugt. Nutzen Sie dazu die Variable alphabet, mit der eine Zeichenkette aus allen Großbuchstaben definiert wird:

Zum Weiterarbeiten: Das allgemeine zufällige Kfz-Kennzeichen

Es ist durchaus zulässig, dass dem Landkreiskürzel nur ein Buchstabe folgt.
Verallgemeinern Sie die Prozedur zufallskennzeichen in der Form, dass ein oder zwei Buchstaben hinter einem beliebigen Landkreiskürzel auftreten können.

Zur Problemlösung.

Persönliche Werkzeuge