Exercice 1. Opérateurs seq et $

- Générer une séquence S1 contenant les 10 premiers éléments de la suite u définie par u(0)=1, u(i+1)=u(i)+7

> restart;S1:=seq(1+i*7,i=0..9);

[Maple Math]

- Générer à partir de S1 la séquence S2 contenant les 10 premiers éléments de la suite v définie par v(i)=((-1)^i)*u(i)

> S2:=seq(S1[i]*(-1)^i,i=1..10);

[Maple Math]

- Générer la séquence S3 contenant les éléments de rang pair de S2.

> S3:=seq(S2[2*i],i=1..(nops([S2])/2));

[Maple Math]

- Générer la séquence S4 contenant les éléments de S3 en sens inverse.

> S4:=seq(S3[-i], i=1..nops([S3]));

[Maple Math]

- Générer la séquence S5 contenant les evaluations décimales de 4/3 à 1,2,3..100 chiffres.

> s5:=seq(evalf(4/3,i),i=1..100);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Regarder l'aide de l'opérateur mod. Expr mod n renvoie le modulo de expr par n.

Exemple: 5 mod 2 renvoie 1.

- Générer la séquence S6: [Maple Math]

> S6:=seq(`if`(i mod 2=0,i,-i),i=1..12);
S6:=seq((-1)^i*i,i=1..12);

[Maple Math]

[Maple Math]

Exercice 2: Opérateurs seq imbriqué.

- Générer la séquence S1 contenant 1,2,1,2,1,2

> restart;
S1:=seq(seq(i,i=1..2),j=1..3);

[Maple Math]

- Générer la séquence S2 contenant S1 trois fois de suite (en générant à partir de S1).

> S2:=seq(seq(S1[i],i=1..nops([S1])),j=1..3);

[Maple Math]

>

- Générer la séquence S3 contenant les élements 1,2,2,4,3,6,4,8

> S3:=seq(seq(i*j,i=1..2),j=1..4);

[Maple Math]

- Générer la séquence S4 contenant les éléments de S3 inversés avec un coefficient multiplicateur de 1 à 5 (S4=1/S3[1]...1/S3[nops([S3])], 2/S3[1]...2/S3[nops([S3])],..,5/S3[1]...5/S3[nops([S3])]).

> S4:=seq(seq(j/S3[i],i=1..nops([S3])),j=1..5);

[Maple Math]

>

Soient les listes sujets:=[`Gérard`, `Raymond`,`Superman`], verbes:=[`aime`, `apprécie`, `déteste`, `admire`] et COD:=[`les choux`,`les poireaux`].

La commande cat(liste) permet de concaténer les chaines de caractère contenues dans la liste. Ex: cat(`je `, ` suis `,` désolé, cher ami.`); renvoie `je suis désolé cher ami.`

- Générer la liste de toutes les phrases possibles sujet/verbe/COD.

> sujets:=[`Gérard `,`Raymond `,`Superman `];
verbes:=[`aime `, `apprécie `, `déteste `, `admire `];
COD:=[`les choux`,`les poireaux`];
seq(seq(seq(cat(sujets[i],verbes[j],COD[k]),i=1..nops(sujets)),j=1..nops(verbes)),k=1..nops(COD));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Exercice 3: Listes de listes.

Une liste de liste (type listlist en Maple) est une liste dont tous les éléments sont elles-mêmes des listes. Exemple: ll:=[[1,2],[2,3]]

Prévoir avant de les taper les réponses des instructions Maple suivantes:

> LL1:=[ [seq(i,i=1..4)], [a,b,c,d], [seq( (2*i-1)/2,i=1..4)], [seq(f,i=1..4)]];

[Maple Math]

> LL1[2..4];

[Maple Math]

> nops(LL1);

[Maple Math]

> nops(LL1[1]);

[Maple Math]

> member(b,LL1,'pos');pos;

[Maple Math]

[Maple Math]

> member(b,LL1[2],'pos2');pos2;

[Maple Math]

[Maple Math]

> LL1[2]:=subsop(2=3,LL1[2]);

[Maple Math]

> LL1;

[Maple Math]

> LL1[1][2]:=7;LL1;

[Maple Math]

[Maple Math]

>

>

> restart;

Exercice 4: Génération de listes de listes.

- Générer la liste LL1 dont les éléments n sont des listes de la forme [n,n+1,n+2], pour n de 1à 10.

> LL1:=[seq([seq(i+j,i=0..2)],j=1..10)];

[Maple Math]

- Générer une liste de liste LL2 dont les éléments de rang n,m sont de la forme [x^n + m], pour n,m de 1 à 5.

Vérifier que LL2[2,3] = x^2+3. (Penser à l'ordre de génération).

> LL2:=[seq([seq(x^i+j,j=1..5)],i=1..5)];

[Maple Math]
[Maple Math]
[Maple Math]

> LL2[2][3];

[Maple Math]

On peut considérer les listes imbriquées comme des dimensions. Une liste simple aura une seule dimension, Une liste de liste deux dimensions.

- Générer une liste de dimension 3 dont les éléments de rang i,j,k sont de la forme i+j+k, pour i,j,k de 1 à 10.

Comment accéder à l'élément de rang 5,6,3 et le remplacer par -152?

> LL3:=[seq([seq([seq(i+j+k,i=1..10)],j=1..10)],k=1..10)];

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> LL3[5][6][3];

[Maple Math]

> LL3[5][6][3]:=-152; #équivalent à LL3[5][6]:=subsop(3=-152,LL3[5][6]);
LL3;

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

>

>

>

>