Bergervei/Prozeduren mit Zeichenketten
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Scheme</language>
== Das individuelle Kfz-Kennzeichen ==
[[Bild:Kennzeichen_Deutschland.jpg|miniatur|hochkant=1.5|Aktuelles deutsches Kfz-Kennzeichen aus dem Landkreis Rastatt (Baden-Württemberg)]]
Viele Autofahrer legen goß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.<br />
Schreiben Sie eine Prozedur, die die persönliche Daten entgegennimmt und das gewünschte Kennzeichen als Zeichenkette zurückgibt.
'''Beispiel:'''
> (kennzeichen "Romy" "Berger" '(14 02 1988))
--> "GR-RB 142"
<code id="5065b02c93e56">
(define string-car
(lambda (zk)
(string-ref zk 0)))
(define string-cdr
(lambda (zk)
(substring zk 1 (string-length zk))))
(define string-last
(lambda (zk)
(string-ref zk (- (string-length zk) 1))))
(define kennzeichen
(lambda (vorname nachname datum)
(string-append "GR-"
(string (char-upcase (string-car vorname)))
(string (char-upcase (string-car nachname)))
" "
(number->string (car datum))
(number->string (cadr datum)))))
</code>
<run id="5064c75c8b913">
(kennzeichen "Romy" "Berger" '(14 02 1988))
</run>