Page 1 of 1
problème de partie entière

Posted:
29 Mar 2022, 15:54
by usine
Bonjour
J'ai un problème avec la fonction floor et int aussi
ln(8)/ln(2)=3 on est d'accord et la machine le calcule bien
mais quand on fait floor(ln(8)/ln(2))=2 ça vaut 2 pour la machine
et quand on fait u:=ln(8)/ln(2) on a aussi floor(u)=2
et on a le même problème avec la fonction int()
ln pour le logarithme népérien
Re: problème de partie entière

Posted:
29 Mar 2022, 16:07
by Hamza.S
quelle Nspire ?
ta calculatrice est-elle en mode exact ?
Re: problème de partie entière

Posted:
29 Mar 2022, 16:13
by Adriweb
Ce problème me dit quelque chose, il me semble qu'on en parlait déjà il y a quelques années...
Re: problème de partie entière

Posted:
29 Mar 2022, 16:15
by Hamza.S
présent que sur calculatrice j'imagine ?
Re: problème de partie entière

Posted:
29 Mar 2022, 16:17
by usine
Hamza.S wrote:quelle Nspire ?
ta calculatrice est-elle en mode exact ?
je ne sais pas , je ne suis pas très instruit sur la machine
Pouvez vous m'en dire plus?
Re: problème de partie entière

Posted:
29 Mar 2022, 16:27
by Hamza.S
![[2] :ns2:](./images/smilies/nspire/ns_2.png)
il faut être dans un classeur et non dans le scratchpad
la partie mode de calcul doit être sur "Auto"
mais tu n'as pas répondu sur le modèle de la Nspire, le nom exact (complet)
j'ai vérifié chez moi je n'ai aucun problème ni sur ordinateur ni sur machine physique
Re: problème de partie entière

Posted:
29 Mar 2022, 16:36
by usine
Merci Hamza
Mon calcul est effectué dans une fonction dans un classeur
Ma machine est TI-nspire CX CAS
Re: problème de partie entière

Posted:
29 Mar 2022, 16:45
by usine
Encore merci Hamza
Le problème disparaît en mode exact
Re: problème de partie entière

Posted:
31 Mar 2022, 10:50
by Bisam
Le bug supposé n'en est pas un.
Si la calculatrice est en mode "Auto", elle choisit d'effectuer un calcul exact ou bien un calcul numérique suivant la situation rencontrée :
Lorsque l'on demande à la calculatrice de calculer ln(8)/ln(2)
, elle essaie d'abord d'effectuer une simplification formelle de l'expression... et ici elle trouve que le résultat est égal à 3 et le renvoie.
Lorsqu'on lui demande de calculer floor(ln(8)/ln(2))
, elle ne tente pas la simplification formelle et lance immédiatement un calcul numérique... avec les erreurs d'arrondis qui peuvent en résulter. C'est l'erreur d'arrondi qui fournit la réponse égale à 2.
En mode "Exact", elle essaie dans tous les cas d'effectuer d'abord une simplification formelle.
En mode "Approx", elle ne fait jamais de simplification formelle et calcule numériquement.