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.

138 7 Hierarchische Gliederung von Lösungsplänen<br />

modus<br />

|varSortColl varOrdColl maximum|<br />

varSortColl := (self bereitstellenWerte<br />

collect: [:einObjekt|einObjekt asInteger])<br />

asSortedCollection.<br />

varOrdColl := OrderedCollection new.<br />

varSortColl do: [:einObjekt|varOrdColl add:<br />

(varSortColl occurrencesOf: einObjekt)].<br />

maximum := varOrdColl at: 1.<br />

varOrdColl do: [:einObjekt|einObjekt > maximum<br />

ifTrue: [maximum := einObjekt]].<br />

moduswert := varSortColl at: (varOrdColl indexOf: maximum)<br />

Hinweis: Dabei ist zu beachten, daß die Variable “moduswert” ursprünglich als temporäre<br />

Variable verwendet wurde. Desweiteren war an der Stelle, an der die Pseudovariable<br />

“self” aufgeführt ist, ursprünglich eine konkrete Instanz der Klasse “WerteErfassung”<br />

angegeben.<br />

Auf dieser Basis können wir die Methode “zentrum” anschließend wie folgt festlegen:<br />

zentrum<br />

self modus<br />

Für eine Instanz von “NoWerteErfassung” läßt sich der Modus durch die Ausführung<br />

der Methode “modus” bzw. der Methode “zentrum” errechnen und der Instanz-<br />

Variablen “moduswert” zuordnen.<br />

Um sich den derart gesicherten Modus im Transcript-Fenster anzeigen zu lassen,<br />

legen wir die Methode “anzeigenModuswert” durch die Vereinbarung<br />

anzeigenModuswert<br />

Transcript cr;<br />

show: ’Der Modus ist: ’;<br />

show: moduswert asFloat printString<br />

und – aus Konsistenzgründen – zusätzlich die Methode “anzeigenZentrum” durch<br />

die Vereinbarung<br />

anzeigenZentrum<br />

self anzeigenModuswert<br />

innerhalb der Klasse “NoWerteErfassung” fest.<br />

Die Erfassung nominalskalierter Werte ist durch die Anforderungen<br />

NoWerteErfassung11 := NoWerteErfassung new.<br />

NoWerteErfassung11 sammelnWerte: ’Jahrgangsstufe 11’<br />

und die anschließende Berechnung des Modus durch<br />

NoWerteErfassung11 zentrum

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!