Illustration des opérations sur les séquences et sur les listes par un exemple:
Je veux créer une séquence contenant les éléments 3,5,8,-6,2,127
> S:=3,5,8,-6,2,127;
Je veux connaitre le contenu de S
> S;
Je veux ajouter à la fin de ma séquence les élements 4 et 7
> S:=S,4,7;
Je veux compter le nombre d'éléments de S. Je dois d'abord pour cela la convertir en liste.
>
L:=[S];
nops(L);
Je veux trier ma liste.
>
sort(L);
L;
L:=sort(L);
Attention, sort(L) ne modifie pas L, mais renvoie une liste triée contenant les éléments de L. Il faut donc la réaffecter.
Je veux maintenant savoir si j'ai la valeur 6 dans ma liste.
> existe:=member(6,L,'pos');pos;
6 n'est pas dans la liste, car la fonction member a renvoyé false. La variable pos n'a pas été changée.
Je veux maintenant savoir si 7 est dans ma liste:
> existe:=member(7,L,'pos');pos;
7 est dans la liste, car la fonction a renvoyé true. La variable pos contient la position de 7 dans la liste: 7 est en 6eme position.
Attention! Si la valeur apparait plus d'une fois dans la liste (par exemple rechercher 7 dans la liste 1,7,4,7,4,6,7), ce sera la première position ou 7 apparait qui sera contenu dans pos:.
>
L2:=[1,7,4,7,4,6,7];
member(7,L2,'pos');pos;
Je veux connaitre la valeur du 3eme élément de L
> L[3];
Je veux maintenant extraire une nouvelle liste à partir de L qui ne contiennent que les éléments 2 à 5
> L3:=L[2..5];
Je veux modifier la 2eme valeur de L3 pour y mettre 7
> L3:=subsop(2=7,L3);
Je veux supprimer la 3eme valeur de L3
> L3:=subsop(3=NULL,L3);
Je veus insérer 4 en 2eme position de la liste L3. Il n'existe pas d'instructions particulière en Maple pour insérer un élément. Je vais donc devoir composer d'autres instructions: insérer correspond à extraire Les valeurs avant la position , ajouter la nouvelle valeur, puis ajouter la fin de la liste.
> L3:=[L3 [1],4,op(L3[2..3])];
L'ajout ne peut se faire que sur des séquences, c'est pourquoi on a utilisé la fonction op().
On veut réinitialiser la liste L3 à vide:
>
L3:=[];
L3;
Enfin, je veux générer une sequence particulière. Il existe pour cela la fonction seq(expression, intervalle).
> S2:=seq(x^i,i=1..3);
L'intervalle signifie que, par paliers de 1, seq crée une nouvelle valeur qu'il insère dans la seq en remplaçant la valeur par celle du palier actuel. Dans l'exemple, la séquence est vide, puis il commence par i=1, il ajoute x^1, donc x à la séquence. Ensuite, i=2, il ajoute x^2 à la séquence. Ensuite i=3, il ajoute x^3 à la sequence. i devant aller de 1 à 3, on s'arrête là et la séquence contient les éléments ajoutés au fur et a mesure, c'est à dire x, x^2, x^3.
Une autre façon de l'écrire est
> x^i$i=1..3;
Autres exemples:
> seq(x,i=1..4);
> -x$x=1..4;