Grundtypen (1)
Programmiersprachen bieten für die aus der Mathematik kommenden
Zahlenmengen Näherungen (Datentypen) an,
die man allerdings mit den Originalen nicht verwechseln sollte:
die Zahlenmengen sind unendlich, während wir in einem Computer
immer nur endlich viele Werte
in jeweils endlicher Darstellung unterbringen können.
Es ist nützlich, Datentypen als Klassen
aufzufassen, also die definierten Operationen jeweils mit zu betrachten,
und wir gehen auch bei den Zahlenmengen selbst so vor,
beschränken uns allerdings auf eine Auswahl an Operationen.
Alle hier besprochenen Objekte besitzen als Attribute
- einen (mathematischen) Wert
- eine interne Darstellung, die den Anwender nichts angeht,
- eine externe Darstellung (oder evtl. mehrere davon),
die man mit dem Wert nicht verwechseln darf!
-
Ausgehend von den natürlichen Zahlen N
mit den Operationen Addition (+), Subtraktion
(-),
Multiplikation (*),
ganzzahlige Division (DIV) und Restbildung (MOD)
bietet Modula (anders als die meisten anderen Sprachen)
den Datentyp CARDINAL an, der die Null und ein Anfangsstück
der natürlichen Zahlen umfaßt
(die Obergrenze ist implementierungsabhängig).
Die Operationen sind die gleichen, aber man muß auf zweierlei achten:
- Die Operation muß definiert sein
(etwa keine Subtraktion größerer Zahlen
von kleineren,
keine Division oder Restbildung durch Null)
- Das Ergebnis muß wieder im Bereich CARDINAL liegen.
Andernfalls ist das zurückgelieferte Ergebnis schlicht falsch,
oder aber unser Programm "stürzt ab".
-
Den ganzen Zahlen Z entspricht als Datentyp INTEGER
ein um Null symmetrischer Ausschnitt, mit den gleichen Operationen
und den gleichen Vorsichtsmaßregeln.
Für beide Datentypen (und noch andere!) sind außerdem noch
eine Reihe von
Vergleichsoperationen <, =, >, <=, >=, <>
(für ungleich) definiert; sie liefern als Ergebnis:
-
Wahrheitswerte aus dem Typ BOOLEAN =
{FALSE, TRUE}.
Für diesen Typ sind die aus der Logik bekannten Operationen
AND, OR und NOT definiert
(oft auch noch andere, die aber geringe Bedeutung haben).
zurück |
Inhalt | Index |
vor |
Vorlesung
Klaus Lagally, 22. Februar 2000, 19:36