03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

15.1 Prüfung von Direktverbindungen 315<br />

ein Knoten erreicht wird, der keine Nachfolger hat, wird zum unmittelbar vorausgehenden<br />

Verzweigungsknoten im Suchgraphen zurückgesetzt und gegebenenfalls von<br />

dort aus die nächste Direktverbindung des IC-Netzes überprüft.<br />

Gemäß der Struktogramme vereinbaren wir die Methode “nachfolgerTiefen:” durch<br />

nachfolgerTiefen: sammlerVonStationen<br />

| erstesObjekt nachfolgerSammler |<br />

nachfolgerSammler := OrderedCollection new.<br />

erstesObjekt := sammlerVonStationen first.<br />

sammlerVonStationen remove: erstesObjekt.<br />

nachfolgerSammler addAll: erstesObjekt bereitstellenDirektverbindung.<br />

sammlerVonStationen do: [:einObjekt|nachfolgerSammler add: einObjekt].<br />

∧ nachfolgerSammler<br />

und die Methode “verbindungTiefen:” durch<br />

verbindungTiefen: ankunft<br />

| nachfolgerSammler |<br />

nachfolgerSammler := OrderedCollection new.<br />

nachfolgerSammler add: self.<br />

self verbindungTiefen: nachfolgerSammler rek: ankunft<br />

sowie die Methode “verbindungTiefen:rek:” durch:<br />

verbindungTiefen: nachfolgerSammler rek: ankunft<br />

(nachfolgerSammler isEmpty)<br />

ifTrue: [Transcript cr;show:’keine IC-Verb’]<br />

ifFalse: [(nachfolgerSammler includes: ankunft)<br />

ifTrue: [Transcript cr;show:’IC-Verb existiert’]<br />

ifFalse: [self verbindungTiefen:<br />

(self nachfolgerTiefen:nachfolgerSammler)<br />

rek: ankunft]<br />

]<br />

Insgesamt ist die Klasse “Suchverfahren” jetzt wie folgt aufgebaut:

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!