von Kay Welschinger und Jakob Thom
Erzeugt einen zufallsgenerierten Pool mit einer vorher definierten Anzahl von Wegen, welche aus einer vorher definierten Anzahl von Knoten mit x -und y-Koordinaten bestehen.
Der Pool ist eine Liste von Wegen,
Wege sind Listen von Knoten
und Knoten sind Paare die aus einer x und einer y Koordinate von 0 bis 100 bestehen.
Beispiel:
'(((x . y) (x . y) ...) ((x . y) (x . y) ...) ...)
Es muss die Anzahl der zu generierenden Knoten und Wege übergeben werden.
Erzeugt die gewünschte Anzahl von Knoten als Paare aus Zufallszahlen von 0 bis 100 und fügt diese einer Liste hinzu.
Fügt endrekursiv die gewünschte Anzahl von gibZufallsWeg erzeugten Wege in eine Liste ein.
(define
(gibPool AnzahlKnoten AnzahlWege)
(define
(gibZufallsWeg AnzahlKnoten liste)
(cond
((= 0 AnzahlKnoten) liste)
(else
(gibZufallsWeg (- AnzahlKnoten 1) (cons (cons (round (* 100 (random))) (round (* 100 (random)))) liste)))))
(define
(erzeugePool AnzahlWege akku)
(cond
((= 0 AnzahlWege ) akku)
(else
(erzeugePool (- AnzahlWege 1) (cons (gibZufallsWeg AnzahlKnoten '()) akku)))))
(erzeugePool AnzahlWege '()))