π
<-
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 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 5.9%
 
Posts: 35466
Images: 9465
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 6 guests

-
Search
-
Featured topics
L'OS 5.5 de la TI-83 Premium CE / 84 Plus CE supprime l'assembleur - la plupart des jeux et certains programme ne fonctionneront plus
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Comparaisons des meilleurs prix pour acheter sa calculatrice !
1234
-
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 Calculatrices à acheter chez Calcuso
-
Stats.
375 utilisateurs:
>368 invités
>2 membres
>5 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)