π
<-
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 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 68.8%
 
Posts: 19
Joined: 15 Sep 2010, 00:00
Gender: Male
Calculator(s):
Class: 1ere S

Online

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.8%
 
Posts: 33410
Images: 8677
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 68.8%
 
Posts: 19
Joined: 15 Sep 2010, 00:00
Gender: Male
Calculator(s):
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):
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: 71.9%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):


Return to TI-Basic

Who is online

Users browsing this forum: No registered users and 10 guests

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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 
-
Stats.
525 utilisateurs:
>484 invités
>35 membres
>6 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)