Die Division in VBA [] (Die Division in VBA), Lektion, Seite 722883
https://www.purl.org/stefan_ram/pub/division_vba (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Die Division »…/…« in VBA 

Einführendes Beispiel

Die Division wird mit einem Schrägstrich »/« geschrieben (in der Mathematik ist auch ‹÷› üblich). Der Schrägstrich »/« sollte nicht mit dem inversen Schrägstrich »\« verwechselt werden!

Direktbereich
? 70/10
7

Vereinfachte Syntax

vereinfachte Syntax
Ausdruck
.----------. .-. .----------.
--->| Ausdruck |--->· / ·-->| Ausdruck |--->
'----------' '-' '----------'

Sind D  und d  zwei Ausdrücke, so ist D /d  wieder ein Ausdruck, der Quotient  von D  und d. Dabei wird D  auch Dividend  und d  Divisor  genannt. (Diese vereinfachte Syntax bringt die Assoziativität der Division nicht richtig zum Ausdruck. Diese wird daher weiter unten separat erklärt.) Dieser Operator hat zwei  Operandenausdrücke (einen linken und einen rechten). Er wird daher binär  genannt, während die zuvor vorgestellten Operatoren unär  waren (sie hatten nur einen  Operandenausdruck). Dieser Operator steht zwischen  seinen Operandenausdrücken, daher wird er auch als ein Infixoperator  bezeichnet.

Typanforderungen

Der Dividend und der Divisor müssen beide numerisch sein.

Typ

Ein Quotient hat den Typ »Double«. Dies gilt auch dann, wenn beide Operanden »Integer« sind und der Dividend durch den Divisor teilbar ist. Daher ist der Typ von »20/10« beispielsweise »Double«.

Wert Bei der Auswertung einer Division werden beide Operanden ausgewertet. Der Wert einer Division ist (bis auf meist kleine Abweichungen) der normale Quotient der beiden Werte.

Assoziativität

Die Division ist linksassoziativ, das heißt in »12/3/2« ist »12/3« ein Ausdruck, aber nicht »3/2«. »12/3/2« bedeutet also »(12/3)/2« – es wird von links  beginnend zusammengefaßt.

Direktbereich
? 12/3/2
2

Operationen bei der Auswertung von »12 / 3 / 2«:

______
12 / 3 / 2 →
4 / 2
_____
4 / 2 →
2

Der Ausdruck »12 / 3 / 2« wird also mit zwei Operationen ausgewertet. Zuerst wird die linke  Division ausgeführt, weil der Operator linksassoziativ ist, dann wird die rechte  Division vollzogen.

Direktbereich
? ( 12/3 )/2
2
Direktbereich
? 12/( 3 / 2 )
8

Operationen bei der Auswertung von »12 /( 3/2 )«:

    _______
12 /( 3/2 ) →
12 / 1.5
________
12 / 1.5 →
8

Im Falle des Ausdrucks »12 /( 3/2 )« wird der rechte  Quotient als Ausdruck ausgewertet, weil er in runde Klammern eingeschlossen wurde.

Priorität

Der Vorzeichenwechsel hat eine höhere  Priorität als die Division. Dies heißt, daß der Vorzeichenwechseloperator in »-3/2« sich nur auf die »3« bezieht und nicht etwas auf den gesamten Bruch.

Bei der Auswertung von »-3/2« wird zuerst  der Vorzeichenwechsel und dann  die Division ausgeführt.

Bei der Auswertung von »-( 3/2 )« wird zuerst  die Division und dann  der Vorzeichenwechsel ausgeführt.

Da es weiteren Verlauf des Lehrgangs nicht wichtig ist, die Auswertung von Vorzeichenwechseln ausdrücklich darzustellen, verzichten wir zur Vereinfachung darauf, wenn wir Operationen einer Auswertung angeben, so wie wir auch auf die Darstellung von Operationen zu Ausdruckklammern verzichten. Wir interpretieren beispielsweise die Auswertung von »-( 3/2 )« als eine Division mit dem Ergebnis »-1.5«, ohne die Klammern und das Vorzeichen als eigene Operationen zu würdigen.

In der folgenden Tabelle zur Priorität von Operatoren finden sich Operatoren mit höherer Priorität weiter oben

Priorität der bisher behandelten Operatoren
()                   Eingeklammerter Ausdruck
+ - Unaere vorangestellte Operatoren
/ Division

Übungsfragen

?   Ausdrücke

Welche Typen und Werte haben die folgenden Ausdrücke jeweils?

A »8 / 2 / 4«
B »8 /( 2 / 4 )«

?   Verständnis von Fachbegriffen *

Zu einem (hypothetischen) binären Infixoperator »∘« wird erklärt: „Der Wert von »∘« ist der Wert des linken Operanden.“. Welchen Wert hat demnach »4∘7«? Welchen Wert hat »4∘2∘7«?

?   Operanden und Operatoren *

Wie viele Operanden hat der erste Divisionsoperator »/« in dem Ausdruck »8/4/2«? Was sind diese Operanden? (Nicht die Werte der Operanden sind hier gesucht, sondern die Operandenausdrücke.)

Wie viele Operanden hat der zweite Divisionsoperator »/« in dem Ausdruck »8/4/2«? Was sind diese Operanden? (Nicht die Werte der Operanden sind hier gesucht, sondern die Operandenausdrücke.)

Welcher der beiden Divisionsoperatoren »/« wird bei der Ermittlung des Wertes des Ausdrucks »8/4/2« als letzter ausgeführt?

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722883 stefan_ram:722883 Die Division in VBA Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722883, slrprddef722883, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/division_vba