03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

326 15 Programmierung von Suchverfahren<br />

(station == self)<br />

ifFalse:[PfadSammler add: station.<br />

self erstellenPfadSammler:(varArray at:3)]<br />

ifTrue: [PfadSammler add:(varArray at:3)]<br />

Hinweis: Somit greifen wir ausgehend vom Ankunftsort auf den Vorgänger dieser Station<br />

zu und hangeln uns solange zurück, bis wir den Abfahrtsort erreicht haben.<br />

Um im Transcript-Fenster die Stationen in der richtigen Reihenfolge anzuzeigen, schicken<br />

wir – innerhalb von “ver:bindung:best:rek:” – dem Empfänger-Objekt “PfadSammler” eine<br />

Message mit dem Selektor “reversed”.<br />

Um vor jeder neuen Anfrage den bisher ermittelten kürzesten Pfad in den Klassen-<br />

Variablen “PfadDic” und “PfadSammler” der Klasse “Suchverfahren” löschen zu<br />

können, vereinbaren wir die Klassen-Methode “initialisierenKlassenvariablen” innerhalb<br />

der Klasse “Suchverfahren” in der folgenden Form:<br />

initialisierenKlassenvariablen<br />

PfadDic := Dictionary new.<br />

PfadSammler := OrderedCollection new<br />

Insgesamt besitzt die Klasse “Suchverfahren” jetzt den folgenden Inhalt:<br />

Suchverfahren<br />

Klassen−Variablen:<br />

Klassen−Methoden:<br />

Instanz−Methoden:<br />

PfadDic PfadSammler<br />

initialisierenKlassenvariablen<br />

direkt:<br />

verbindungIter:<br />

verbindung:iter:<br />

verbindungRek:<br />

verbindung:rek:<br />

alleNachfolger:<br />

verbindungBreiten:<br />

verbindungBreiten:rek:<br />

nachfolgerBreiten:<br />

verbindungTiefen:<br />

verbindungTiefen:rek:<br />

nachfolgerTiefen:<br />

verbindungBest:<br />

ver:bindung:best:rek:<br />

abgleichenErreicht:geprueft:<br />

aufbauenPotMinimalSammler:<br />

erstellen:pfadDic:<br />

erstellenPfadSammler:<br />

Abbildung 15.14: Die Klasse “Suchverfahren” mit den aktuellen Methoden<br />

Ausführung der Bestwegsuche<br />

Die Ausführung der Bestwegsuche – bezogen auf die kürzeste IC-Verbindung von<br />

“Ful” nach “Ber” – können wir durch die Ausführung der folgenden Anforderungen<br />

abrufen:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!