6.36.5 Pour fabriquer une séquence ou une liste : seq $
seq peut renvoyer une séquence (avec la même syntaxe que
Maple) ou une liste (avec la même syntaxe que TI) selon la forme
de ses arguments qui sont : une expression dépendant d’un paramètre (par
exemple j) et des paramètres décrivant la variation de j.
$ renvoie une séquence et c’est la version infixée de seq
lorsque seq a deux arguments : une expression dépendant d’un
paramètre (par exemple j) et (j=a..b) où a et b sont des nombres
réels (par exemple j^
2$ (j=-1..3)), ou une expression constante
et un nombre n (par exemple 4$3).
seq a deux, trois, quatre ou cinq arguments car on peut exprimer
la variation de j de a à b à l’aide d’un argument (j=a..b) ou de
deux arguments (j,a..b) (syntaxe Maple où il n’y a pas
la possibilité de mettre un paramètre de saut) ou encore à l’aide de
trois arguments (j,a,b) ou de quatre arguments (j,a,b,p) (syntaxe TI
avec la possibilité de mettre p comme paramètre de saut).
-
Syntaxe Maple
seq a deux arguments une expression dépendant d’un
paramètre (par exemple j) et j=a..b où a et b sont des nombres
réels (ou une expression constante et un nombre n). On peut
ajouter pour seq un troisième argument, le pas (1 par défaut).
$ a les même arguments mais est une fonction infixée et
il faut parenthéser les arguments.
seq (ou $) définit la séquence obtenue en remplacant dans
l’expression j par a, a+1..b si b>a et par a, a−1..b si b<a
(ou seq renvoie la séquence formée par n fois la constante).
-seq a trois arguments une expression dépendant d’un
paramètre (par exemple j), le nom du paramètre (par exemple j) et
a..b où a et b sont des nombres réels, ou
seq définit la séquence obtenue en remplacant dans
l’expression j par a, a+1..b si b>a et par a, a−1..b si b<a
le pas est donc soit égal à 1, soit égal à -1.
- Syntaxe TI
-seq a quatre arguments une expression dépendant d’un
paramètre (par exemple j), le nom du paramètre (par exemple j), puis
a et b où a et b sont des nombres réels. seq définit la
liste obtenue en remplaçant dans l’expression j par a, a+1..b si
b>a ou par a, a−1..b si b<a).
-seq a cinq arguments une expression dépendant d’un
paramètre (par exemple j), le nom du paramètre (par exemple j), puis
a et b (où a et b sont des nombres réels) et p le pas (où p
est un nombre réel positif ou négatif).
seq définit la liste obtenue en remplaçant dans l’expression j
par a, a+p..a+k*p (a+k*p ≤ b <a+(k+1)*p ou
a+k*p ≥ b> a+(k+1)*p). Par défaut, on a p=1 si b>a et p=-1 si
b<a. Si p n’a pas le bon signe, ce signe est rectifié par le logiciel!
Remarque :
Dans la syntaxe Maple, seq renvoie une séquence et il n’y a pas
la possibilité de mettre un paramètre de saut, contrairement à la syntaxe
TI où seq renvoie une liste avec
la possibilité de mettre un paramètre de saut.
On tape pour avoir une séquence d’éléments identiques :
seq(t,4)
Ou on tape
seq(t,k=1..4)
Ou on tape
t$4
On obtient :
(t,t,t,t)
On tape pour avoir une séquence :
seq(j^
3,j=1..4)
Ou on tape
(j^
3)$(j=1..4)
Ou on tape :
seq(j^
3,j,1..4)
On obtient :
(1,4,9,16)
Ou on tape pour avoir une liste :
seq(j^
3,j,1,4)
On obtient :
[1,4,9,16]
On tape :
seq(j^
3,j,0,5,2)
On obtient :
[0,8,64]
On tape :
seq(j^
3,j,5,0,-2)
ou
seq(j^
3,j,5,0,2)
On obtient :
[125,27,1]
On tape :
seq(j^
3,j,1,3,0.5)
On obtient :
[1,3.375,8,15.625,27
On tape :
seq(j^
3,j,1,3,1/2)
On obtient :
[1,27/8,8,125/8,27]
Exemples d’utilisation
-
On tape pour avoir la dérivée troisième de ln(t) :
diff(log(t),t$3)
On obtient :
-((-(2*t))/t^
4)
On tape :
l:=[[2,3],[5,1],[7,2]]
seq((l[k][0])$(l[k][1]),k=0 .. size(l)-1)
On obtient :
2,2,2,seq[5],7,7
2,2,2,5,7,7
- On tape pour transformer une chaîne en la liste de ces caractères :
f(chn):={
local l;
l:=size(chn);
return seq(chn[j],j,0,l-1);
}
puis,
f("abracadabra")
On obtient :
["a","b","r","a","c","a","d","a","b","r","a"]
- On tape pour transformer une chaîne en la séquence de ces caractères :
f(chn):={
local l;
l:=size(chn);
return seq(chn[j],j,0..l-1);
}
puis,
f("abracadabra")
On obtient :
("a","b","r","a","c","a","d","a","b","r","a"]))