suivant: Un exercice et sa
monter: Numération avec Xcas
précédent: La base b est
Table des matières
Index
Il faut convertir ici chaque caractère en sa valeur (on convertit le
caractère contenu dans m en le nombre nm).
Si
m = (c0, c1, c2, c3) alors
n = c0*b3 + c1*b2 + c2*b + c3.
On calcule n en se servant de l'algorithme de Hörner (cf 5.14).
En effet le calcul de
n = c0*b3 + c1*b2 + c2*b + c3 revient à calculer la
valeur du polynôme
P(x) = c0*x3 + c1*x2 + c2*x + c3 pour x = b.
n va contenir successivement :
0 (n : = 0) puis
c0 (n : = n*b + c0) puis
c0*b + c1 (n : = n*b + c1) puis
c0*b2 + c1*b + c2 = (c0*b + c1)*b + c2 (n : = n*b + c2) et enfin
c0*b3 + c1*b2 + c2*b + c3 (n : = n*b + c3).
On écrit donc la fonction nombre dans Xcas :
nombre(m,b):={
local s,k,am,nm,n;
s:=(size(m));
n:=(0);
k:=(0);
if (s!=0) {
while(k<s){
am:=(asc(m[k])[0]);
if (am>64) {
nm:=(am-55);
}
else {
nm:=(am-48);
};
if (nm>(b-1)) {
return("erreur");
}
n:=(n*b+nm);
k:=(k+1);
};
}
return(n);
}
Documentation de giac écrite par Renée De Graeve