Bergervei/Prozeduren mit Zeichenketten
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Scheme</language>
== Mein Wunschkennzeichen ==
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 das Geburtsjahr beinhalten.<br />
Schreiben Sie eine Prozedur, die eine Liste mit den persönlichen Daten entgegen nimmt und das gewünschte Kennzeichen als Zeichenkette zurückgibt.
'''Beispiel:'''
> (kennzeichen "Romy" "Berger" "14.02.1988")
--> "GR - RB 1488"
<code id="506474429838e">
(define benutzername
(lambda (vorname nachname)
(string-append (string (string-ref vorname 0)) nachname)))
(define string-first
(lambda (zk)
(string-ref zk 0)))
(define string-butfirst
(lambda (zk)
(substring zk 1)))
(define string-last
(lambda (zk)
(string-ref zk (- (string-length zk) 1))))
(define string-butlast
(lambda (zk)
(list->string (reverse (cdr (reverse (string->list zk)))))))
(define kennzeichen
(lambda (vorname nachname datum)
(string-append "GR - "
(string (char-upcase (string-first vorname)))
(string (char-upcase (string-first nachname)))
" "
(string (string-first datum))
(string (string-first (string-butfirst datum)))
(string (string-last (string-butlast datum)))
(string (string-last datum)))))
</code>
<run id="50647442983f8">
(kennzeichen "Romy" "Berger" "14.02.1988")
</run>