![]() ![]() |
Que font ces petits programmes sachant que Math.floor désigne la partie entière
de x
?
»
fonction partie entière
1 |
JavaScript : |
function arr(x) { u=Math.floor(Math.abs(x)*10000+0.5)/10000 if (x < 0) {u = -u} return u } |
2 |
Tableur : | =signe(x)*arrondi(abs(x);3) |
3 |
JavaScript : |
function arr(x) { return Math.floor(10*x + 0.9)/10 } |
4 |
Tableur : | =arrondi(x + 0,04;1) |
5 |
Tableur : | =si(x = ent(x); x ; si((x - ent(x))*10 < 5 ; ent(x) + 0,5 ; ent(x)+1)) |
Si vous séchez après avoir bien cherché : »
1. Il s'agit de l'arrondi d'un nombre x à 0,0001 près : |
JavaScript :
On passe en valeur absolue; on multiplie par 10 000 et on ajoute 0,5 : si une retenue se crée, c'est que le chiffre des cent millièmes est au moins égal à 5; ainsi le chiffre des dix millièmes (devenu les unités) augmente de 1. On prend la partie entière et on redivise par 10 000. Si le nombre était négatif, on récupère son signe.
D'une façon générale, l'arrondi à 10-n d'un nombre N est obtenu de la sorte :
1. On multiple N par 10n
2. On ajoute 0,5
3. On prend la partie entière : ce qui arrondit N × 10n à 10-n
4. On redivise par 10n.
Arrondi de 3,141592654 au dix-millième (4 décimales) : on multiplie par 10 000 : 31415,92654. On ajoute 0,5 : 31416,42654. Une retenue s'est créée : les dix millièmes ont augmenté d'une unité. On prend la partie entière : 31416. On redivise par 10 000 : 3,1416. Cet arrondi coïncide avec la valeur approchée à 10-4 près par excès.
Arrondi de 3,141592654 au centième (2 décimales) : on multiplie par 100 : 314,1592654. On ajoute 0,5 : 314,6592654. Pas de retenue créée, les centièmes sont inchangés. On prend la partie entière : 314. On redivise par 100 : 3,14. Cet arrondi coïncide avec la valeur approchée à 10-2 près par défaut.
Arrondi et valeur approchée : »
2. Il s'agit de l'arrondi usuel d'un nombre x à 0,001 près sur tableur : |
No comment !
3. Valeur approchée d'un nombre x à 0,1 près par excès en JavaScript : Math.floor(10*x + 0.9)/10 |
Rappelons tout d'abord qu'un arrondi au dixième (resp. au centième, à l'unité, etc.) consiste à prendre la valeur approchée au dixième (resp. au centième, à l'unité, etc.) la plus proche. Dans le cas présent, il s'agit d'une valeur approchée par excès :
Notons N = n,dc... un nombre où n désigne les unités, d désigne le chiffre des dixièmes et c le reste de la partie décimale:
N = x + 0,1d + 0,01c
donc :
On ajoute 0,9 à 10N, ce qui crée une retenue qui incrémente d de 1 lorsque c n'est pas nul, et le tour est joué :
Lorsque c est nul, alors N = n,d : c'est un nombre à une seule décimale (comme 3,1). 10N = 10n + d et le fait d'ajouter 0,9 ne crée aucune retenue retenue. La formule d'arrondi ne modifie pas N.
4. Valeur approchée d'un nombre x à 0,1 près par excès sur tableur : =ARRONDI(X+0,04;1) |
L'ajout de 0,04 dans la formule s'explique par le fait que la fonction ARRONDI d'Excel "ajoute déjà" 0,5 comme dans le cas 1 en multipliant préalablement X par 10. Il suffit donc d'ajouter 0,04 à X.
➔ Mais on peut écrire tout simplement avec Microsoft Excel : =ARRONDI.SUP(X;1)
5. Il s'agit là de l'approximation d'un nombre x à 0,5 près par excès : |
si(x = ent(x); x ; si(x - ent(x) < 0,5 ; ent(x) + 0,5 ; ent(x)+1))
Le nombre x - ent(x) est la partie décimale de x. Si cette partie est nulle, la formule retourne x. Sinon la partie décimale est arrondie à 0,5 si elle est inférieure à 0,5 et dans le cas contraire, x est arrondi à l'entier supérieure.
Dans le cas d'une moyenne, par exemple, il s'agira d'un arrondi au demi-point supérieur.