Poster un nouveau sujet Poster une réponse
PartDéc( je vais devenir fou!
Auteur Message
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 27 Sep 2010, 20:52   Citer 

Alors je vous explique mon problème:

Il est un programme dans lequel ma variable B=0.4.

Vous êtes surement d'accord que 1000B=400

Or j'ai une condition:

If PartDéc(1000B
patati patata

donc dans mon cas, la condition ne devrait pas se remplir car PartDéc(1000B)=0
et pourtant...

j'ai donc essayé d'écrire en dehors du programme 1000B.
et là, stupeur, je vois écrit non pas 400, mais 399.

donc quand j'écris PartDéc(1000*0.4 j'ai bien 0, mais PartDéc(1000B, j'ai 0.99999.

et pourtant, quand je fais juste B, j'ai 0.4 et pas 0.399999.

Qu'est-ce qui se passe??!!

je précise que je suis en mode flottant.

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 27 Sep 2010, 23:04   Citer 

Ton B ne doit pas à la base être égal à 0.4 car j'ai testé la partie du prog et rien à signalé que ce soit E3 où 1000.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mar 28 Sep 2010, 0:20   Citer 

Moi aussi il me l'avait fait dans DESERT2,j'avais résolu le problème en rajoutant 0.001 à B.Finalement je me suis rendu compte que c'était une histoire de partEnt Qui arrondit à défaut,et comme il était dans un partDéc,la partie décimale était pas nulle eyeonly.gif un truc dans ce genre,cherches dans ton programme à partir de quel moment B passe de 0.4 à 0.39999999999,et tu trouveras sans doute ce qui pose problème.

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 29 Sep 2010, 16:02   Citer 

c'est justement ce moment là que j'arrive pas a détecter, et je comprends pas pourquoi quand je tape B il m'affiche 0.4 et non pas 0.39999999.

pourtant la calto sait faire.
de toutes façons j'ai réglé le problème avec un arrondi(1000B,1.

mais ça m'énèrve quand même!

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 29 Sep 2010, 19:07   Citer 

Je suppose que ton nombre a moins de 10 chiffres significatifs ?
Sinon c'est un problème d'affichage.

Quant au problême de calcul je ne vois pas.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mer 29 Sep 2010, 20:32   Citer 

Comme le dit Rézus, ça doit venir d'un arrondi( antérieur que tu as du oublier de sauvegarder ou alors c'est dans l'algorithme (et non algorythme au passage bigmouth.gif ) qui fait les arrondis (sans doute une limite vers l'entier supérieur et du coup une valeur égale à 3.999999).

Sangohan38

 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mer 29 Sep 2010, 20:40   Citer 

Ouais,faut que tu fasses gaffe et que tu testes les lignes quasiment unes par unes.Justement tiens c'était en faisant le jeu d'échec pour le concours que ça m'avait fait ce coup,et si tu fais pas ligne par ligne,tu peux pas trouver,au départ je croyais même que la valeur changeait quand le programme passait à un autre Lbl.

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 30 Sep 2010, 19:29   Citer 

chaque ligne est vérifiée, vous pouvez le faire vous même, c'est le programme "pi" dans la catégorie Ti 82 stats.fr je crois.

mon B est invariablement égal à 0.4.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 02 Oct 2010, 14:09   Citer 

Je commence à douter. Verrifie le nombre de chiffres.
ipart(B*10^7
fpart(B*10^7

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Dim 03 Oct 2010, 12:29   Citer 

fpart(B*10^7=0.9999999
ipart(B*10^7=3999999

précisément.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 03 Oct 2010, 16:35   Citer 

Ce résultat est la preuve que ton nombre ne fait pas 0.4, mais 0.4-10^-14.
Tu dois pratiquer tes tests classiques partout, mais avec les deux formules que je t'ai donné pour connaître les valeurs exactes de B. Car les tests classiques affichent des résultats approchés à 10^-9 parmi les chiffres significatifs. (ici 10^-10)

Edit: j'ai corrigé des valeurs aberrantes

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 04 Oct 2010, 20:50   Citer 

bon ok.

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink