π
<-

partDéc() qui renvoie 1

Re: partDéc() qui renvoie 1

Message non lude iequa » 29 Avr 2014, 18:33

Je ne comprends pas bien, mettre K^(1/3) dans une variable ? C'est ce que j'ai fais dès le début (voir le code dans le premier message), sans succès
Avatar de l’utilisateur
iequa
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 0%
 
Messages: 3
Inscription: 29 Avr 2014, 14:08
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: partDéc() qui renvoie 1

Message non lude Bisam » 30 Avr 2014, 16:00

C'est malheureusement un "bug" impossible à supprimer.
En effet, cela vient directement de la façon de stocker des réels.

Ici, après le calcul (approché) de 64^(1/3), c'est un nombre très proche de 4, mais légèrement inférieur, qui est obtenu. (En fait, ce sera le cas pour toutes les valeurs suivantes : (n^3)^(1/3) renvoie toujours une valeur très légèrement plus petite que n...)
Sa partie fractionnaire vaut donc 0.9999999999999.. avec plein de 9, mais la calculatrice n'affiche pas tous les chiffres qu'elle a en mémoire, donc elle affiche une valeur proche, à savoir 1.

C'est même plus qu'un problème d'affichage puisque l'on ne peut pas faire des calculs avec ces nombres impossibles à afficher :
Code: Tout sélectionner
1-2^(-40)-1
renvoie 0
Pourtant
Code: Tout sélectionner
fPart(1-2^-40)
renvoie 1 et prouve que le résultat en mémoire est différent du nombre 1.
et
Code: Tout sélectionner
1-2^(-40)-1/2-1/2
ne renvoie pas 0... mais bien 2^-40 !

On peut en déduire que les calculettes z80 effectuent les calculs sur 40 bits de mantisse.

Enfin, pour résoudre le problème, il suffit de ne pas tester l'égalité à 0 ! On peut le contourner ainsi :
Code: Tout sélectionner
Prompt K
K^(1/3)->R
If abs(partDéc(R)-partDéc(R)^2)<E-13
Then
Disp R
End

On teste en fait si la partie décimale est très proche de 0 ou bien très proche de 1...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5670
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: partDéc() qui renvoie 1

Message non lude Adriweb » 30 Avr 2014, 16:04

Jolie analyse :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.2%
 
Messages: 14889
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Précédente

Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
4789 utilisateurs:
>4770 invités
>10 membres
>9 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)