remove a deux paramètres : une fonction booléenne f et
une liste L.
remove enlève les éléments c de la liste L, qui
vérifie f(c)=true.
On tape :
On obtient :
On tape :
On obtient comme nouvelle valeur de L :
Remarque Pour faire la même chose avec une chaîne de catactères,
par exemple : enlever tous les caractères d’une chaîne qui se trouvent
après le caractère ch (par ex "m" selon l’alphabet.
On va écrire les fonction Enleve1 et Enleve2 : pour cela on a
besoin des fonctions :
ord, asc et char :
On obtient :
On tape :
On obtient :
On utilise seq, on tape la fonction Enleve1 :
Enleve1(chaine,ch):={ local L,l:=length(chaine)-1; L:=remove(x->(ord(x)>ord(ch)),seq(chaine[k],k,0,l)); return char(ord(L)); }:;
ou bien on utilise asc et on tape la fonction Enleve2:
Enleve2(chaine,ch):={ local L,l:=length(chaine)-1; L:=remove(x->(x>ord(ch)),asc(chaine)); return char(L); }:;
Puis on tape :
On obtient :
Ou on tape :
On obtient :
Autre exemple : enlever tous les "a" d’une chaîne.
On tape :
On obtient :