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.

68 4 Erweiterung des Lösungsplans<br />

verarbeitet und daher zunächst die Methode “bereitstellenWerte” ausgeführt. Hieraus<br />

resultiert als Ergebnis-Objekt ein Bag, dessen Bestandteile die erfaßten Punktwerte<br />

der Jahrgangsstufe 11 sind. Dieses Ergebnis-Objekt ist das Empfänger-Objekt<br />

der unären Message “size”. Das aus dieser Message resultierende Ergebnis-Objekt<br />

ist gleich der Anzahl der erfaßten Punktwerte. Diese Zahl stellt das Argument der<br />

binären Message “/” dar, die dem Empfänger-Objekt “summe” zugestellt wird.<br />

Durch die Ausführung der Methode “/” erfolgt eine Division, so daß der resultierende<br />

Quotient der Variablen “durchschnittswert” zugeordnet wird.<br />

Umsetzung des Lösungsplans<br />

Um den Durchschnittswert für die Punktwerte der Jahrgangsstufe 11 zu ermitteln,<br />

können wir das in Abbildung 4.7 angegebene Struktogramm wie folgt umsetzen:<br />

|summe durchschnittswert|<br />

summe := 0.<br />

WerteErfassung11 bereitstellenWerte<br />

do: [:einObjekt|summe := summe + einObjekt asInteger].<br />

durchschnittswert := summe /<br />

(WerteErfassung11 bereitstellenWerte size)<br />

Lassen wir diese Anforderungen – unter Einsatz der Menü-Option “‘Show It” des<br />

Menüs “Smalltalk” – ausführen, so wird der Durchschnittswert der Punktwerte der<br />

Jahrgangsstufe 11 im Workspace-Fenster angezeigt.<br />

Indem wir “WerteErfassung11” durch “WerteErfassung12” ersetzen, läßt sich der<br />

Durchschnittswert für die innerhalb der Instanz “WerteErfassung12” gesammelten<br />

Punktwerte der Jahrgangsstufe 12 errechnen.<br />

Soll der Durchschnittswert im Transcript-Fenster angezeigt werden, so sind die angegebenen<br />

Anforderungen wie folgt zu ergänzen:<br />

Transcript cr.<br />

Transcript show: ’Der Durchschnittswert ist: ’.<br />

Transcript show: durchschnittswert asFloat printString<br />

Hinweis: In diesem Fall ist zu beachten, daß – beim Einsatz von “Show It” – im Workspace<br />

“a MDITranscript” als Ergebnis-Objekt der letzten Anforderung mit der Message “show:”<br />

angezeigt wird.<br />

Durch diese Anforderungen wird festgelegt, daß der ermittelte Durchschnittswert im<br />

Transcript-Fenster hinter dem Text “Der Durchschnittswert ist: ” angezeigt werden<br />

soll.<br />

Damit der Durchschnittswert als Dezimalzahl ausgegeben wird, setzen wir die Basis-<br />

Methode “asFloat” ein. Es gilt nämlich:<br />

ˆ “asFloat”:<br />

Die unäre Message “asFloat” läßt sich einer beliebigen Zahl zustellen. Als<br />

Ergebnis-Objekt resultiert eine Dezimalzahl.<br />

Hinweis: Zum Beispiel liefert die Anforderung “10 / 4 asFloat” die Zahl “2.5”<br />

als Ergebnis-Objekt. Dagegen führt z.B. “10 / 4” zum Ergebnis-Objekt “5 / 2”,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!