Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Algorithme~déterminer si un nombre décimal est pair [resolu]
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Algorithme~déterminer si un nombre décimal est pair [resolu]

Posté le 09/12/2012 17:15

Hello world,
J'a besoin de votre aide dans mon programme pour déterminer le sens de variation des fonctions s’exprimant sous la fore de polynômes.
Dans ce programm, je dois déterminer si un exposant est pair ou impair. il est facile de déterminer si un nombre est pair ou impair quand il est entier mais pas quand il est décimal, car il faudrait pouvoir isoler la partie décimale et déterminer si elle est entière. en effet, les fonctions dont l'exposant est compris entre 0 et 1 comme X^0.2, qui est pair, se définissent sur R alors que les exposants impairs et décimaux sont définis sur 0;infini... donc pour étudier ces fonctions, cest difficile, et je n'ai pas réussit a trouver un lgorithme pour savoir si un nombre décimal est pair ou impair. besoin d'aide
j'ai aussi fait un autre post ici, si je n'ai pas été clair maths forum


1, 2 Suivante
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 09/12/2012 17:20 | #


Tu as les string sur ta calculatrice ? Parce que, si oui, il suffit de tester si les string NumToStr(exposant) et NumToStr(exposant/2) ont la même taille
Tsuneo Hors ligne Membre Points: 973 Défis: 51 Message

Citer : Posté le 09/12/2012 19:47 | #


NumToStr n'est pas présent sur les Graph je crois, Cartix...

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 09/12/2012 19:51 | #


Les fonctions Int et Frac (toutes deux dans OPTN > NUM) donnent respectivement les parties entière et décimale d'un nombre.
(En fait Int donne la troncature à l'unité, Intgr donne la partie entière, mais n'existe pas sur les anciens modèles)

Mais ça n'a pas de sens de parler de parité pour un non-entier.
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 10/12/2012 13:16 | #


oui je suis d'accord que ca n'a pas de sens, mais les fonctions non plus ,'en n'ont pas..
Si je ne dis pas pair, alors je dirai "dont la partie décimale est paire"..
donc en effet il n'y a pas de solution??


Ajouté le 10/12/2012 à 13:19 :
donc si je fais
frac X -> Y
if int Y=Y
then...
else..
ifend
ca veut dire que c\'est pair??
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 10/12/2012 20:14 | #


Non, Si N=2.54, Int N=2 et Frac N=0.54

Tu veux tester la parité de quoi exactement ? De la dernière décimale ou de la première ?
Totoyo Hors ligne Membre d'honneur Points: 16040 Défis: 102 Message
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 11/12/2012 11:24 | #


Pierrotll a écrit :

Tu veux tester la parité de quoi exactement ? De la dernière décimale ou de la première ?


Oui, la parité de la dernière décimale.
si j'isole la parite décimale (frac N) j'obtiens tout de même un nombre décimal.. donc il m'est toujours impossible de déterminer la parité de la partie décimale. il faudrait obtenir un entier.
Totoyo Hors ligne Membre d'honneur Points: 16040 Défis: 102 Message
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 11/12/2012 17:50 | #


D'après moi et d'après wikipedia : oui
Wikipedia a écrit :
Un entier multiple de deux est un entier pair, les autres sont les entiers impairs.

0 est un multiple de 2 car il existe un x pour lequel x*2=0 (qui est 0), donc il est pair.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 11/12/2012 19:01 | #


Oui, bien sur (on ne sait pas l'écrire sous la forme "2*k+1", mais bien sous la forme "2*k"
Pour revenir à ton problème, tu as la réponse depuis mon premier commentaire, il faut que tu teste si le nombre x (l'exposant) et le nombre x/2 sont le même nombre de décimale soit :
X/2->Y
0->C~D
Do
10*X->X
C+1->C
LpWhile Frac X
Do
10*Y->Y
D+1->D
LpWhile Frac Y

Á la fin de ce script, si C=D, alors ton exposant est pair.
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 11/12/2012 20:12 | #


Ton code n'est pas bon Catrix, tu fais 2 fois la même chose.

Il suffit de multiplier le nombre par 10 tant qu'il a une partie décimale :
While Frac N
10N->N
WhileEnd
If Frac (N/2
Then "N impair"
IfEnd

Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 12/12/2012 10:32 | #


@PLL : Bien vu, c'est "X/2->Y" et pas "X->Y", je corrige. Ton code n'est pas bon non plus : Si N/2 a une partie décimale, alors N est impaire
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 12/12/2012 20:15 | #


Ah oui, je me suis planté entre pair et impair dans l'affichage ^^, c'est corrigé.

Voilà Ringo, t'as 2 solutions au choix
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 14/12/2012 16:08 | #


Merci guys
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 20/12/2012 20:04 | #


If Not mod(X,2)
Then "Pair"
Else "Impair"
IfEnd
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 21/12/2012 12:34 | #


Hmmm a quoi sert la fonction MOD? je n'ai pas bien compris dans sa description..
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 21/12/2012 12:47 | #


En gros c'est le reste de la division. Par exemple MOD(7,3)=1

Ce qui fait que quand tu fait MOD(X,2) bah s'il reste 0 c'est paire, et s'il reste 1 c'est impaire.
Ringodu74 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 21/12/2012 12:51 | #


Ah ok le modulo alors???
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 21/12/2012 12:57 | #


Oui
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 21/12/2012 13:18 | #


Ca fonctionne ac les nombres décimaux ?
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 74 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd