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.

62 4 Erweiterung des Lösungsplans<br />

Arithmetische Operationen<br />

Das oben angegebene Struktogramm schreibt vor, daß zunächst ein erster Wert von<br />

“werteBag” zu dem Wert zu addieren ist, der an die Variable “summe” gebunden<br />

ist, und das Ergebnis dieser Addition wieder durch “summe” referenziert werden<br />

soll. Im nächsten Schritt ist ein weiterer Wert von “werteBag” zum aktuellen Wert<br />

von “summe” zu addieren und der resultierende Wert als neuer aktueller Wert an<br />

die Variable “summe” zu binden. Diese Verarbeitung ist in der angegebenen Form<br />

schrittweise solange durchzuführen, bis der letzte in “werteBag” enthaltene Wert<br />

zu dem Wert hinzuaddiert wurde, der an “summe” gebunden ist.<br />

ˆ Um eine Summation innerhalb einer Anforderung festzulegen, muß eine Message<br />

mit dem Message-Selektor “+” formuliert werden, indem als Empfänger-<br />

Objekt der erste Summand (vor dem Pluszeichen) und als Argument der Message<br />

der zweite Summand (hinter dem Pluszeichen) aufzuführen ist.<br />

So wird z.B. durch die Anforderung<br />

31 + 37<br />

dem Objekt “31” eine Message mit dem Argument “37” gesandt, so daß “68” als<br />

Summenwert ermittelt und zum Ergebnis-Objekt dieser Message wird.<br />

Bei einer Anforderung der Form<br />

summe := summe + 37<br />

richtet sich die Message “+” an das Empfänger-Objekt “summe”, so daß die Zahl<br />

“37” zu dem Wert hinzuaddiert wird, der an “summe” gebunden ist. Das Ergebnis<br />

wird mittels des Zuweisungssymbols “:=” der Variablen “summe” als neuer Wert<br />

zugeordnet.<br />

ˆ Bei den anderen arithmetischen Grundoperationen Subtraktion, Multiplikation<br />

und Division wird genauso verfahren, wie wir es soeben für die Vorgehensweise<br />

bei der Summation geschildert haben.<br />

Als zugehörige Message-Selektoren werden die Rechen-Symbole “−”, “∗” und<br />

“/” verwendet.<br />

Der jeweils erste Operand wird als Empfänger-Objekt und der jeweils zweite<br />

Operand als Argument hinter dem betreffenden Selektor aufgeführt.<br />

Um zu unterstreichen, daß es sich bei dieser Art von Messages um besondere<br />

Keyword-Messages handelt, wird von binären Messages gesprochen.<br />

Hinweis: Selektoren derartiger Messages werden nur dann erkannt, wenn sie aus<br />

höchstens zwei Zeichen bestehen, die aus einer festgelegten Menge spezieller Zeichen<br />

stammen müssen.<br />

ˆ Verschachtelte binäre Messages werden stets von “links nach rechts” ausgeführt,<br />

so daß die Regel “Punktrechnung geht vor Strichrechnung” nicht<br />

gilt.<br />

Hinweis: Bei der Ausführung einer Anforderung der Form “!37 + 32 / 2!’’ wird<br />

zunächst die Addition und erst dann die Division ausgeführt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!