test de parité d'un entier

Conception pièces mécaniques, machines spéciales, composants...

Modérateurs : remi77, D@vid

Rémi Marchese
Aspirant Première Année
Aspirant Première Année
Messages : 193
Enregistré le : 28 oct. 2022, 14:08
Réponses : 7
Version TopSolid : 7.16
Module TopSolid : TopSolid'Design
Localisation : Bourgoin jallieu

test de parité d'un entier

Message non lu par Rémi Marchese »

pour faire une répétition avec une alternance de pièce tête bêche (rotation a 180° entre les pièce paires et impaires)
j'ai insérer mes exemplaire 1 et 2 puis j'ai fais une répétition a n=floor(nombre total/2;1) occurences
ce qui est parfait pour les cas ou "nombre total" est pair mais il me manque un exemplaire si il est impair.
c'est a ce moment la que je me suis rendu compte que faire un test de parité c'est plutôt pénible

la condition qui marche pour tester si n est pair c'est:
floor(n/2;1)==ceil(n/2;1)

idem je me suis rendu compte que pour tester si un réel x appartient aux entiers le test "x==round(x;1)" ne marche pas car comme on compare un réel et un entier il retourne faux même si ils sont égaux car le réel a une unité. il faut donc faire le test:
floor(x;1)==ceil(x;1)

j'ai créer une idea pour avoir les fonction iseven() et isinteger() qui fasse ça toutes seul sur le même principe que isnull() fais un test "x==0"
https://topsolidideas.ideanote.io/?idea=295

cordialement
Rémi Marchese
La loutre
Lieutenant-colonel
Lieutenant-colonel
Messages : 1019
Enregistré le : 18 oct. 2020, 21:32
Réponses : 41
Version TopSolid : 7.13
Module TopSolid : TopSolid'Steel
Localisation : Valenciennes
Contact :

Re: test de parité d'un entier

Message non lu par La loutre »

Pour faire un test de parité, il y a plus simple. Il faut faire une division modulo 2 (ou division euclidienne). Si ça renvoi 0, c'est pair, si ça renvoi autre chose, c'est impair. Et plus généralement, ça permet de savoir si un nombre est multiple d'un autre. S'il n'y a pas de reste, c'est que c'est un multiple
ex : 3%2 = 1 et 4%2 = 0
Rémi Marchese
Aspirant Première Année
Aspirant Première Année
Messages : 193
Enregistré le : 28 oct. 2022, 14:08
Réponses : 7
Version TopSolid : 7.16
Module TopSolid : TopSolid'Design
Localisation : Bourgoin jallieu

Re: test de parité d'un entier

Message non lu par Rémi Marchese »

comment tu as trouvé le modulo?
je l'ai trouvé nulle part dans l'aide
mais oui en effet c'est plus pratique
La loutre
Lieutenant-colonel
Lieutenant-colonel
Messages : 1019
Enregistré le : 18 oct. 2020, 21:32
Réponses : 41
Version TopSolid : 7.13
Module TopSolid : TopSolid'Steel
Localisation : Valenciennes
Contact :

Re: test de parité d'un entier

Message non lu par La loutre »

C'est une fonction de base dans les langages de programmation. Comme TS est développé en C#, je me suis dit que l'interpréteur d'expression ne devait pas être très éloigné. J'ai essayé :mrgreen: J'imagine qu'à peu près tous les opérateurs arithmétiques dispo dans C# sont accessibles
Rémi Marchese
Aspirant Première Année
Aspirant Première Année
Messages : 193
Enregistré le : 28 oct. 2022, 14:08
Réponses : 7
Version TopSolid : 7.16
Module TopSolid : TopSolid'Design
Localisation : Bourgoin jallieu

Re: test de parité d'un entier

Message non lu par Rémi Marchese »

oula le C# ça fait longtemps et il y a le when qui en fait est un if
Avatar du membre
JuP
Général de brigade
Général de brigade
Messages : 6900
Enregistré le : 18 févr. 2013, 10:26
Réponses : 143
Version TopSolid : 7.17
Module TopSolid : TopSolid'Steel
Localisation : Lyon (France)

Re: test de parité d'un entier

Message non lu par JuP »

c'est clair que le when je me suis toujours demandé d'où ils le sortaient :roll:
Julien POIROT
Responsable produit TopSolid'Steel
Youtube (tuto etc)
GrabCad
Groupe Facebook TopSolid'Steel

Postez ici vos idées!:
TopSolid'Steel
TopSolid'Design
Répondre