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 Geburtstag und Geburtsmonat 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 142"
<code id="506471cf12ced">
(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 "ZI - "
(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="506471cf12d59">
(kennzeichen '(Romy Berger "14.02.1988"))
</run>