distinguer pair et impair

distinguer pair et impair - Delphi/Pascal - Programmation

Marsh Posté le 23-04-2005 à 13:17:43    

Bonjour à tous,
 
Voilà dans mon programme je dois distinguer les nombres pairs des nombres impairs afin que le programme puisse choisir la procédure appropriée à suivre (celle pour les pairs ou celle pous les impairs).
 
comment faire ,pour qu'après l'insertion par un utilisateur d'un nombre a (readln(a)),le programme distingue si le nombre est pair ou impair et suit alors la bonne procédure?
 
Merci de vos réponse  :pt1cable:   :)

Reply

Marsh Posté le 23-04-2005 à 13:17:43   

Reply

Marsh Posté le 23-04-2005 à 13:21:54    

modulo 2 est ton ami


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 23-04-2005 à 13:39:31    

merci black_lord, mais comment fais-tu pour écrire ca en turbo pascal?
il y a une fonction spéciale genre [2] ou alors faut-il écrire if a=2n+1... ?
 
merci.

Reply

Marsh Posté le 23-04-2005 à 13:49:52    

if(a%2 == 0) // pair
else // impair


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 13:58:53    

merci pour ta réponse KangOl,mais si je comprend bien a divisé par 2 doit être égal à 0 or si a=4 par exemple,divisé par 2,j'obtiendrais 2.
 
Ne devrait-on pas écrire if(a%2 == integer) // pair  
else // impair ?
Je suis débutant en turbo pascal mais ni aurait-il pas une fonction div ou mod?
 
merci

Reply

Marsh Posté le 23-04-2005 à 14:39:10    

modulo = reste de la division entière...
 
donc si le reste de la division par 2 vaux 0, le nombre est pair...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 14:39:41    

ne connaissant pas le pascal et d'apres ce que tu as ecris, tu devrais utiliser "mod"


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 22:33:26    

Il y a une fonction "Odd(...)" qui renvoie True si le nombre est impair.
 
C'est plus optimisé que le "mod" je pense :D
 
Odd :


test al,$01
jz +$0f


mod :


inc eax
test eax,eax
jnz +$0a


 
Mais ça n'existe peut-être qu'en Delphi


Message édité par antp le 23-04-2005 à 22:34:25

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-04-2005 à 13:45:39    

j'utilise un simple programme turbo pascal mais pas en Delphi, l'instruction à utiliser était celle-ci : if b mod 2 = 0 then pair else impair.
 
Merci à tous pour vos réponses en particulier à KangOl qui m'a permi de trouver ce résultat.

Reply

Marsh Posté le 24-04-2005 à 13:57:01    

[:ddr555]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 24-04-2005 à 13:57:01   

Reply

Marsh Posté le 26-04-2005 à 11:09:55    

Odd existait déjà sous Turbo Pascal 7 en tout cas.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed