UFR GEA - UV 21
Année 2004- 2005 - MAPLE - TD n° 3
>
# EXERCICE 1.
# Soit la liste L:=[a,b,1,2,x,y]
Afficher la liste L. Afficher le nombre d'éléments de L. Afficher le 1er élément de L, afficher le 5ème élément de L, afficher le dernier élément de L,afficher la liste des éléments 2 à 4 de L.
> restart;L:=[a,b,1,2,x,y];
> L;
> print(L);
> nops(L);
> L[1];
> L[5];
> L[nops(L)];L[-1];
> L[2..4];
>
>
# EXERCICE 2.
# Ecrire les instructions MAPLE permettant de générer les listes suivantes:
L1:=[x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x]:
L2:=[abc,abc,abc,abc,abc,abc,abc,abc,abc,abc]:
L3:=[1,x,x^2,x^3,x^4,x^5,x^6,x^7,x^8,x^9]:
> L1:=[seq(x,i=1..18)];
> S1:=x$i=1..18;L1:=[S1];
> L2:=[seq(abc,i=1..10)];
> L3:=[seq(x^i,i=0..9)];
>
> # EXERCICE 3. Dans chacun des cas suivants, que va afficher MAPLE ? (Trouvez le résultat avant de taper les instructions.)
>
restart;
s:=1,2,3; t:=x,y,z;
s1:=s,t;
s2:=t,s;
u:=s,a,b,t ;
u[4..7];
print(`la longueur de u est`, nops([u]));
>
restart;
w1:=$1..5;
w2:=$1/2..6;
w3:=$1.3..7;
w4:=x$8;
w5:=(abc)$4;
w6:=(x^k)$k=0..5;
>
restart;
sop:=op(x+a*y+2*z);# sop est la séquence des opérandes de l'expression x+a*y+2*z
>
# l'opérateur seq
restart;
v1:=seq(k,k=-3..3);
v2:=seq(x^k,k=0..5);
seq(seq(i*x^j,i=1..2),j=3..4);
seq(seq(x^j,j=i+1),i=0..3);
>
# EXERCICE 4.
# Soit la liste L1:=[a,b,c,d] et la liste L2:=[1,2,3,4,5]. Ecrire les instructions MAPLE permettant de générer la liste L3 suivante: [1,2,3,4,5,x,x,x,x,x,x,x,a,b,c,d]
>
> L1:=[a,b,c,d];L2:=[1,2,3,4,5];
> L3:=[op(L2),seq(x,i=1..7),op(L1)];
>
> #exo 5
>
Creer la sequence des nombres impairs inferieurs a 100
> restart;
> s:=seq(2*i+1,i=0..49);
Calculer le nombre d'elements de cette sequence.
> nops([s]);
Creer la liste des nombres multiples de 3 et inferieurs a 100
> l:=[3*i$i=0..33];
Quel est le 5eme nombre de cette liste?Le 5eme en partant de la fin?
> l[5];l[-5];
Obtenir la position de la valeur 30 dans l et l'afficher.
> member(30,l,'position');position;
Creer la liste unissant les deux variables vecteurs ci-dessus.
> l2:=[s,op(l)];
Creer la liste obtenue en inversant les elements de la liste precedente.
> l3:=[seq(l2[nops(l2)-i],i=0..nops(l2)-1)];
> l3:=[seq(l2[-i],i=1..nops(l2))];
Trier cette liste par ordre croissant a l'aide de la fonction sort (voir aide en ligne)
> sort(l3);
> l3;
# EXERCICE 6.
Soit la liste L3:=[a,b,c,d,x$6]:
- remplacer dans la liste L3 le deuxième élément par y, de trois façons différentes.
Utiliser l'instruction subsop pour:
- supprimer le 3ème élément de la liste L3.
Remettre L3 à zéro
> L3:=[a,b,c,d,x$6];L3;
> L3:=[L3[1],y,op(3..10,L3)];
> L3:=[a,b,c,d,x$6];
> L3[2]:=y;L3;
> L3:=[a,b,c,d,x$6];
> L3:=subsop(2=y,L3);
>
> subsop(3=NULL,L3);
> L3:=[];
>
# EXERCICE 7.
# Dans la liste L3:=[a,b,c,d,x$6], insérer l'élément y en 5ème position,et faire afficher la liste L4 obtenue qui doit être L4:=[a,b,c,d,y,x,x,x,x,x,x].#Que donnent les instructions: # member(y,L3,'pos');pos;
# member(e,L3,'pos2');pos2;
> restart;L3:=[a,b,c,d,x$6];
> L3:=[op(1..4,L3),y,op(5..nops(L3),L3)];
>
member(y,L3,'pos');pos;
member(e,L3,'pos2');pos2;
>