+ Addition - Subtraktion * Multiplikation / reellwertige Division DIV ganzzahlige Division MOD Modulo+ - * / sind auf ganzzahlige und reelle Operanden anwendbar.
Das Ergebnis der Operation ist
i MOD knur zulässig, wenn k > 0 ist.
i = (i DIV k )*k + (i MOD k) i >= 0, k > 0Die Gültigkeit dieser Beziehung ist nicht garantiert, wenn die Voraussetzungen i >= 0 und k > 0 nicht erfüllt sind.
Beispiel:
i k i MOD k (i DIV k )*k + (i MOD k)
------------------------------------------------------------
5 2
Turbo Pascal 1 5
Pascal ++ 1 5
Gnu Pascal 1 5
XL Pascal 1 5
------------------------------------------------------------
5 -2
Turbo Pascal 1 5
Pascal ++ 1 5
Gnu Pascal 1 3 !!
XL Pascal * * Programmabbruch
------------------------------------------------------------
-5 -2
Turbo Pascal 1 -5
Pascal ++ 1 -5
Gnu Pascal 1 -5
XL Pascal * * Programmabbruch
In Extended Pascal sind die Operatoren + - * / auch auf Werte mit
dem Datentyp COMPLEX (komplexe Zahlen)
anwendbar.
Fehlerquellen:
Tückische Fehler können vor allem bei der Division ganzer Zahlen
auftreten !
Beispiel:
PROGRAM division(OUTPUT);
VAR m, n, k : INTEGER;
x : REAL;
BEGIN
m := 1; n := 2;
{ k := m / n; Writeln(k); !! nicht erlaubt !! }
x := m / n; Writeln(x); { liefert 0.500000 }
x := m DIV n; Writeln(x); { liefert 0.000000 }
x := Round(m/n); Writeln(x); { liefert 1.000000 }
x := Trunc(m/n); Writeln(x); { liefert 0.000000 }
END.
Das Ergebnis der Division zweier ganzer Zahlen ist eine ganze Zahl ! Achtung - Mehrfachverwendung von Operatorsymbolen:
+ Addition Identität Vereinigung Verkettung
(binär) (unär) (binär) (binär)
- Subtraktion Vorzeichenwechsel Differenz
(binär) (unär) (binär)
* Multiplikation Durchschnitt
(binär) (binär)