Bergervei/Das allgemeine zufällige Kfz-Kennzeichen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Scheme</language>
Eine Lösungsidee besteht darin, zunächst eine zufällige Zeichenkette aus zwei Großbuchstaben zu erzeugen. Aus dieser kann nun eine Teil-Zeichenkette gewonnen werden, deren Länge zufällig mit 1 oder 2 festgelegt wird.<br />
Zur übersichtlichen Implementation ist es ratsam, die aus zwei zufällig gewählten Großbuchsteben bestehende Zeichenkette an eine ''lokale Variable'' zu binden.<br />
Lokale Wertbindungen werden in einer Liste mit dem Sprachelement <tt>let</tt> definiert.
'''Beispiel:'''
<code id="50680498788d0">
(define lokal
(lambda (n)
(let ([x 5] [y 4])
(* n x y))))
</code>
<run id="5068049878995">
(lokal 10)
</run>
Nun ist die Rückgabe eines allgemeinen zufälligen Kfz-Kennzeichens kein Problem:
<code id="506804987892d">
(define alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
(define zufallskennzeichen
(lambda (kuerzel)
(let ([zk (string-append
(string (string-ref alphabet (random (string-length alphabet))))
(string (string-ref alphabet (random (string-length alphabet)))))])
(string-append (string-upcase kuerzel)
"-"
(substring zk 0 (+ 1 (random 2)))
" "
(number->string (+ 1 (random 9999)))))))
</code>
<run id="50680498789ea">
(zufallskennzeichen "DD")
</run>
Zurück zu [[Bergervei/Prozeduren mit Zeichenketten|Prozeduren mit Zeichenketten]].