dh-Materialien
Einführung in Maple    
Übungen
 

Mengen, Listen und Folgen

> restart;

Eine endliche Menge von Zahlen:

> M:= {1, 5, 7, 7, 7, 3, 2, 12};

M:= {1,2,3,5,7,12}

Die Elemente dieser Menge sind zwar in einer gewissen Reihenfolge gespeichert und hier auch hingeschrieben; dennoch sind die Elemente einer Menge nicht geordnet:

> M[6];
  M[6]:= 9; # Es gibt kein 6.Element von M!
  M;

12
Error, cannot reassign the entries in a set
{ 1, 2, 3, 5, 7, 12 }

 Eine Liste von Zahlen:

> l:= [1, 5, 7, 7, 7, 3, 2, 12];

l:= [1, 5, 7, 7, 7, 3, 2, 12]

Die Elemente einer Liste sind geordnet und indiziert.
Durch diese Indizierung kann man auf jedes einzelne Listenelement zugreifen und auch ändern:

> l[6];
  l[6]:= 9: # Das 6. Element von l wird geändert.
  l;

Eine Folge von Zahlen:

> f:= 1, 5, 7, 7, 7, 3, 2, 12;
  f[6];
  f[6]:= 9: # Unzulässiger Zugriff auf f.
  f;

Error, invalid assignment (1, 5, 7, 7, 7, 3, 2, 12)[6] := 9;
cannot assign to an expression sequence

1, 5, 7, 7, 7, 3, 2, 12

Elementare Mengenoperationen:

> M;
  M:= M minus {7, 10, 11, 12};
  M union {4, 5};
  M intersect {2, 3, 4};
  is (4 in M);
  {} subset M;
  nops(M); # Anzahl aller Elemente in M

Verändern von Listen:

> l;
  nops(l); # Anzahl aller Listenelemente
  l:= subsop(3=NULL, 4=NULL, l);
  sort(l, `>`);
  l:= [op(l), 13, 14, 14, 14, 5, 9];

Entfernen mehrfach vorkommender Listenelemente:

> with(ListTools):
  MakeUnique(l);

[1, 5, 7, 9, 2, 12, 13, 14]

Weitergehende Informationen über die Manipulation von Listen:

> ?ListTools;

Einige Befehle des ListTools Package:

BinaryPlace BinarySearch Categorize DotProduct Enumerate
FindRepetitions Flatten FlattenOnce Group Interleave
Join JoinSequence MakeUnique Occurrences Pad
PartialSums Reverse Rotate Search SearchAll
SelectFirst SelectLast Sorted Split Transpose

Operationen auf Folgen:

> f;
  nops([f]); # Anzahl aller Folgenglieder
  liste:= MakeUnique(sort([f]));
  folge:= op(liste);
  3, 5, f[2..4], 7;

Datentypen


 Home   Back   Top