π
<-
Chat plein-écran
[^]

comment verifier qu'un nombre est entier ?

comment verifier qu'un nombre est entier ?

Unread postby Andrei210 » 13 May 2011, 16:52

Bonjour à tous, comme dis dans le titre j'aimerais savoir s'il est possible de verifier qu'une valeur soit entiere.
(en l'occurence c'est plus preisement une variable divisée par une autre )
User avatar
Andrei210
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 16%
 
Posts: 19
Joined: 15 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: comment verifier qu'un nombre est entier ?

Unread postby critor » 13 May 2011, 17:06

Le test le plus précis (au sens d'une calculatrice), c'est de vérifier si la partie décimale est nulle.

Code: Select all
fPart(A)=0



Tu peux aussi tester si le nombre est égal à sa partie entière. Mais dans ce cas, la calculatrice peut répondre que c'est vrai alors que les nombres sont différents mais proches.

Selon le contexte du programme, cela peut être une force ou une faiblesse.

Code: Select all
int(A)=A
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 42.4%
 
Posts: 41498
Images: 14640
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: comment verifier qu'un nombre est entier ?

Unread postby Andrei210 » 13 May 2011, 17:51

merci ça me sera très utile ici. je choisirai surement la 1ere solution même si mes chifres ne devraient normalement pas avoir plus de 2 chiffres après la virgule.
User avatar
Andrei210
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 16%
 
Posts: 19
Joined: 15 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: comment verifier qu'un nombre est entier ?

Unread postby AAymeric » 22 May 2011, 17:46

Ou sinon, on a If A=ent(A)
User avatar
AAymeric
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 6.3%
 
Posts: 14
Joined: 30 Jul 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2nd

Re: comment verifier qu'un nombre est entier ?

Unread postby chess » 07 Oct 2018, 22:16

Il faut considérer que l'égalité parfaite n'existe pas sur les nombres réels en informatique.

Les tests ci-dessous ne marchent ni avec A=2.0000000001 ni avec A=1.9999999999
Code: Select all
if fPart(A) = 0
if int(A) = A
if ent(A) = A

Il faut procéder par inégalité
mais le test ci-dessous ne marche avec A=1.9999999999
Code: Select all
if fPart(A) < 1E-8

Ce test là marche toujours :
Code: Select all
if abs ( A-round(A,0) ) < 1E-8

Je préfère ce test, équivalent et plus rapide :
Code: Select all
if fPart(A+1E-8) < 2E-8

En python :
Code: Select all
if (A+1E-8)%1 < 2E-8 :

Le seuil d'égalité 1E-8 peut être revu à la hausse pour les grands nombres.
User avatar
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 35.7%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):
MyCalcs profile


Return to TI-Basic

Who is online

Users browsing this forum: No registered users and 22 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1381 utilisateurs:
>1350 invités
>27 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)