### 6.42.42 Faire une liste avec une fonction : makelist

makelist fabrique une liste à l’aide d’une fonction, en donnant les bornes de la variable et le pas de cette variable qui par défaut vaut 1 ou -1 selon que l’ordre des bornes.
On tape :

makelist(x->x`^`2,3,5)

ou bien

makelist(x->x`^`2,3,5,1)

ou on définit la fonction h(x)=x2 en tapant : h(x):=x`^`2 puis

makelist(h,3,5,1)

On obtient :

[9,16,25]

On tape :

makelist(h,5,3,-1)

On obtient :

[25,16,9]

On tape :

makelist(x->x`^`2,3,6,2)

On obtient :

[9,25]

Attention!!! il faut purger x si x est affecté.
Remarque :
On peut aussi définir une liste constante avec makelist.
On tape :
makelist(4,1,3) ou [4$3] renvoie [4,4,4]
makelist(4,2,7) ou [4$6] renvoie [4,4,4,4,4,4] (car on considère que 4 est la constante, 2 est l’indice du début et 7 est l’indice de fin donc que la liste constante égale à 4 est de dimension 6.) Exemple On veut créeer la liste des carrés des nombres premiers de 1 à 10.
On tape :
eval(makelist(k->ifte(isprime(k),k`^`2,NULL),1,10))
ou on tape :
eval(makelist(k->ifte(isprime(k),k`^`2,NULL),1,10))
ou on tape :
eval(makelist(k->if isprime(k) then return k`^`2; else return NULL;fi,1,10))
On obtient :
[4,9,25,49]