next up previous contents index
Weiter: 3.6 Elementtests Hinauf: Ausdrücke Zurück: 3.4 Logische Operatoren

3.5 Vergleichsoperatoren

  

Kommt zurück! Wir sind mehr als die!
Kommt doch endlich zurück, beim Jupiter!
Die sind zahlreicher als ich!


Legat Volfgangamadeus.
Renè Goscinny  und Albert Uderzo ,
,,Asterix bei den Belgiern``.

Die Vergleichsoperatoren = und /= sind für alle Typen außer limited definiert, die restlichen, die sogenannten Ordnungsoperatoren  , sind nur für skalare Typen und eindimensionale Array-Typen mit skalaren Komponenten erlaubt.

Zwei Records sind dann gleich, wenn alle ihre Komponenten gleich sind, zwei Arrays sind es dann, wenn die entsprechenden Komponenten gleich sind und sie gleiche Länge haben, die Bereiche der Indizes sind dabei irrelevant. Ein Beispiel ist:

str_1: string (1 .. 3) := "AHA";
str_2: string (1 .. 5) := "AHAHA";

Dabei gilt dann: str_1 = str_2(3 .. 5).

Die Ordnungsoperatoren für Arrays entsprechen der lexikographischen Ordnung  . Das heißt, ein Array der Länge 0 ist kleiner als jedes Array mit einer größeren Länge. Für Arrays der Länge > 0 gilt: Der linke Operand ist lexikographisch kleiner der rechte, wenn entweder die erste Komponente des linken Operanden kleiner ist als die des rechten, oder, falls die ersten Komponenten übereinstimmen, der restliche linke Operand lexikographisch kleiner ist als der restliche rechte.



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998