Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Logiciel AlgoBox : Arrondir

Posté par
Hangaa
18-09-14 à 19:45

Bonsoir,

J'ai une simple question concernant le logiciel AlgoBox :

Je souhaitais savoir quelle formule faut-il entrer afin de pouvoir arrondir au centième ?

J'ai beau eu me creuser la tête et chercher partout des informations mais le peu trouvé ne m'a emmené nul part.

Je suis bloquer à ce niveau là : 3.6*D/TALGOBOX_ARRONDIR(,)
Sachant que 3,6*D/T concerne mes calculs et (,) là où je dois saisir la formule

Si je ne suis pas clair faites le moi savoir, cordialement.

Posté par
mathafou Moderateur
re : Logiciel AlgoBox : Arrondir 18-09-14 à 20:28

Bonjour

de toute façon ton "TALGOBOX_.." c'est du n'importe quoi

pour appliquer une fonction sur le résultat d'un calcul on ne "colle" pas la fonction à la suite du calcul ainsi.

on écrit
fonction(calcul)

donc ici ce sera

fonction_arrondir(3.6*D/T)

reste à trouver cette fameuse fonction arrondir qui s'avère en fait ne pas exister officiellement



pour arrondir à 1/10n près, par exemple à 1/10, on peut utiliser le calcul suivant

round(expression*10)/10
"expression" représentant n'importe quelle expression dont on veut arrondir le résultat au 1/10

donc ici round(36*D/T)/10 (la multiplication par 10 est ici faite à la main en remplaçant le 3.6 par 36)

la fonction (round) est documentée dans la doc en ligne d'Algobox (menu Aide) elle arrondit son argument à l'entier le plus proche

ceci a en réalité des effets indésirables car 1/10 n'est pas un nombre binaire (une infinité de chiffres binaires après la virgule)
il se peut donc que cette méthode soit mise parfois en défaut (précision des calculs binaires internes limitée)
pour afficher toujours un vrai arrondi au 1/10 quoi qu'il se passe, il n'y a qu'une seule méthode fiable, mais affreuse : transformer le nombre en chaine de caractère et extraire des sous chaines pour obtenir un résultat garanti.

c'est à mon avis un marteau pilon pour écraser une mouche

la formule que j'ai donnée au dessus suffit dans 99.999 % des cas.

Posté par
Hangaa
re : Logiciel AlgoBox : Arrondir 18-09-14 à 20:39

Tout d'abord merci de ta réponse mathafou,

Pour ce qui est de 3.6*D/T c'est tout simplement ma formule et ALGOBOX_ARRONDIR(,)  c'est la commande proposée par AlgoBox.

Ensuite je n'ai pas tout à fait compris "transformer le nombre en chaine de caractère et extraire des sous chaines pour obtenir un résultat garanti." mais c'est surement car je manque cruellement d'expérience dans le domaine de l'informatique...

J'ai donc essayé round(36*D/T)/10  comme tu m'as indiqué, qui fonctionne, mais je n'ai pas d'arrondi :x

Posté par
Hangaa
re : Logiciel AlgoBox : Arrondir 18-09-14 à 20:52

Désolé pour le second poste mais j'ai réussi avec la formule ROUND((3.6*D/T)*100)/100 comme tu m'avais indiqué mais j'avais mal compris sur le coup :')

Cordialement et bonne soirée

Posté par
mathafou Moderateur
re : Logiciel AlgoBox : Arrondir 18-09-14 à 21:05

ALGOBOX_ARRONDIR(,) n'est pas documentée dans la doc en ligne de Algobox, ni même dans le manuel du site officiel d'Algobox
il y a effectivement comme ça quelques fonctions "secrètes" réservée à l'usage des seuls initiés ( = des concepteurs d'Algobox)

de toute façon elle s'utiliserait ainsi, forcément, de même que TOUTES les fonctions de Algobox

ALGOBOX_ARRONDIR( expression à arrondir , autres paramètres)

tu peux essayer ALGOBOX_ARRONDIR( 3.6*D/T , 1/10) qui sait

ou d'autres variantes

ma méthode marche par contre (je l'utilise plein de fois dans mes propres programmes)

un programme de test :

1 VARIABLES
2 D EST_DU_TYPE NOMBRE
3 T EST_DU_TYPE NOMBRE
4 R EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 LIRE D
7 LIRE T
8 R PREND_LA_VALEUR round(36*D/T)/10
9 AFFICHER R
10 FIN_ALGORITHME


***Algorithme lancé***
Entrer D : 3
Entrer T : 7
1.5
***Algorithme terminé***
il affiche bien l'arrondi au 1/10 et pas 1.5428571428...

pour arrondir au 1/100 tu remplaces 10 par 100 :

8 R PREND_LA_VALEUR round(360*D/T)/100
tout le reste inchangé

***Algorithme lancé***
Entrer D : 3
Entrer T : 7
1.54
***Algorithme terminé***

l'arrondi au 1/1000 ici (avec ces valeurs, la flemme d'en tester / calculer d'autres) par
8 R PREND_LA_VALEUR round(3600*D/T)/1000
donne bien un arrondi (et pas une simple troncature 1.542) :

***Algorithme lancé***
Entrer D : 3
Entrer T : 7
1.543
***Algorithme terminé***

le "coup des chaines de caractères" est à ignorer (c'est bien trop compliqué pour une amélioration microscopique)

c'était juste pour mentionner que parfois (rarement en fait), la méthode simple avec round() affiche son arrondi au 1/10 sous la forme
xxx.y9999999999

Posté par
Hangaa
re : Logiciel AlgoBox : Arrondir 18-09-14 à 21:29

Je vois le truc
Je te remercie de ton aide



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1734 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !