Arithmetische Ausdrücke
Auswertung arithmetischer Ausdrücke
Unter dem Begriff Arithmetik wird allgemein das Rechnen mit (ganzen) Zahlen verstanden. Dazu zählen die Grundrechenarten:
Über arithmetische Ausdrücke können diese Grundrechenarten innerhalb der Vorlagensyntax verwendet werden. Dabei erlauben einige Ausdrücke auch das Rechnen mit Fließkommazahlen. Eine Möglichkeit, arithmetische Ausdrücke auszugeben, ist über die Anweisung $CMS_VALUE(...)$.
Addition
Die Addition von Zahlenwerten ist über den Operator '+' möglich.
Der Ausdruck:
1 + 1
liefert den Wert '2' zurück.
Neben Ganzzahlen können hier auch Fließkommazahlen verwendet werden:
3.1234 + 3.1234
Die Auswertung liefert den Wert '6.2468' zurück.
Subtraktion
Die Subtraktion von Zahlenwerten ist über den Operator '-' möglich.
Der Ausdruck:
1 - 1
liefert den Wert '0' zurück.
Neben Ganzzahlen können hier auch Fließkommazahlen verwendet werden:
3.1234 - 2.1
Die Auswertung liefert den Wert '1.0234' zurück.
Multiplikation
Die Multiplikation von Zahlenwerten ist über den Operator '*' möglich.
Der Ausdruck:
2 * 2
liefert den Wert '4' zurück.
Analog:
2 * x
Sofern gilt:
$CMS_SET(x, 2)$
Neben Ganzzahlen können hier auch Fließkommazahlen verwendet werden:
3.1234 * 2.1
Die Auswertung liefert den Wert '6.55914' zurück.
Division
Die Division von Zahlenwerten ist über den Operator '/' möglich.
Der Ausdruck:
2 / 2
liefert den Wert '1' zurück.
Analog:
2 / x
Sofern gilt:
$CMS_SET(x, 2)$
Neben Ganzzahlen können hier auch Fließkommazahlen verwendet werden:
3.1234 / 2.1
Die Auswertung liefert den Wert '1.4873' zurück.
Modulo
Modulo (Rest) ist eine verbreitete Funktion, die den Rest aus der Division zweier Ganzzahlen angibt. In Ausdrücken wird dafür der Operator '%' verwendet.
Der Ausdruck:
7 % 2
liefert den Wert '1' zurück.
Analog:
7 % x
Sofern gilt:
$CMS_SET(x, 2)$
Kombination unterschiedlicher arithmetischer Ausdrücke
Die vorgestellten arithmetischen Ausdrücke können beliebig miteinander kombiniert werden. Bei der Auswertung der Ausdrücke werden dabei zuerst immer Multiplikation, Division und Modulo durchgeführt und erst dann Addition und Subtraktion ("Punkt- vor Strichrechnung"). Multiplikations-, Divisions- und Modulo-Operatoren haben also einen höheren Rang als Additions- und Subtraktions-Operatoren.
Das bedeutet, beim folgenden Ausdruck:
2 + 3 * 4
wird zuerst
3 * 4
ausgewertet und dann das Ergebnis dieser Auswertung ('12') mit dem nächsten Wert verknüpft:
2 + 12
liefert den Wert '14' zurück.
Haben Operatoren eines Ausdrucks den gleichen Rang, werden diese von links nach rechts ausgewertet.
Die Auswertungsreihenfolge kann aber durch das Setzen von Klammern beeinflusst werden:
(2 + 3) * 4
liefert den Wert '20' zurück.
Ein weiteres Beispiel:
(2 * 3 + 6) / (2 + 2)
liefert den Wert '3' zurück.
Dagegen:
(2 * (3 + 6)) / (2 + 2)
liefert den Wert '4.5' zurück. Das heißt, bei Ausdrücken mit verschachtelten Klammern werden erst immer die inneren Klammern aufgelöst.
In Kombination mit logischen und / oder vergleichenden Ausdrücken werden arithmetische Ausdrücke vorrangig ausgeführt. Es ergibt sich folgende Rangfolge:
Durch Klammerung kann diese Rangfolge wie oben erläutert geändert werden. |