5. Sprachelemente / Operatoren
 
zurück
  5.1.4 Aggregate für Verbunde und Reihungen
5.1.4.1 Aggregate für Reihungstypen


In einem Aggregat für Reihungstypen (array_aggregate <BNF>) kann jeder Komponente einer Reihung nach Position oder nach Index ein Wert zugewiesen werden. Bei Zuordnung nach Position werden die Werte in aufsteigender Reihenfolge des Index aufgelistet, bei Zuordnung nach Index ist die Reihenfolge frei wählbar.

Abschließend kann genau wie bei Aggregaten für Verbunde auch eine Zuordnung mit "Others" stehen, wenn den restlichen Komponenten der gleiche Wert zugewiesen werden soll.

Aggregat_fuer_Reihungstypen ::=
Positionelles_Aggregat | Namentliches_Aggregat

Positionelles_Aggregat ::=
( Komponentenwert , Komponentenwert { , Komponentenwert } ) |
( Komponentenwert { , Komponentenwert } , others => Komponentenwert )

Namentliches_Aggregat ::=
( Komponentenzuordnung { , Komponentenzuordnung } )

Komponentenzuordnung ::= Komponentenindex => Komponentenwert

Eine Mischung zwischen Zuordnung nach Position und Zuordnung nach Namen, wie sie bei Verbunden möglich ist, ist hier ausgeschlossen.

Zusätzlich zu den Kombinationsmöglichkeiten der Verbunde kann ein Bereich angegeben werden, dem ein bestimmter Wert zugeordnet werden soll. Die Unter- und Obergrenze werden hierfür durch zwei Punkte getrennt.


Beispiele:

Lange_Liste := (10 .. 20|30|40|50 => 5, 1 .. 9 => 2, others => 0);
Arbeitszeiten := (8.0, 9.0, 7.5, 8.25, 5.5, others => 0.0);



Bei der Verwendung mehrdimensionaler Reihungstypen enthält das Aggregat weitere Aggregate (Unteraggregate), man erhält also eine Verschachtelung von Aggregaten.


Beispiel:

Matrix_3x3 := (1 => (1 => 10, 2 => 5, 3 => 10),
               2 => (1 =>  5, 2 => 2, 3 =>  5),
               3 => (1 =>  2, 2 => 1, 3 =>  2) );



 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.