Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » While a 2 conditions
Deltaro Hors ligne Membre Points: 7 Défis: 0 Message

While a 2 conditions

Posté le 10/12/2014 22:26

Bonjour
alors voila j'aimerais savoir si il est possible de mettre un while avec 2 conditions différentes et si l'une des deux est réalisé la boucle s’arrête, comme un "ou" en math
J'ai déjà essayé avec Or mais cela ne fonctionne point
Need Help


Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 10/12/2014 22:29 | #


Comment ca ca marche pas ? Il suffit de mettre :
While A=3 Or B=2
WhileEnd

attention je precise que While, Or et WhileEnd doivent etre choisi dans le catalog (Shift+4) et non pas etre ecris comme des variables
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Deltaro Hors ligne Membre Points: 7 Défis: 0 Message

Citer : Posté le 10/12/2014 22:45 | #


alors voila ce que j'ai fait en gros

0->K
While P+Q+V>0 Or K>0
"Probleme"
WhileEnd

Et pourtant "problème" s'affiche toujours
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 10/12/2014 22:48 | #


P+Q+V ca vaut combien ?
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 10/12/2014 22:48 | #


Sans doute car tu tes variables P Q et V ne sont pas egales a 0 essaie de mettre 0->P 0->Q et 0->V avant
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 10/12/2014 22:48 | #


Ou sinon c'est le And qu'il te faut si tu veux que les deux conditions soient verifiées
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 10/12/2014 22:57 | #


Deltaro a écrit :
alors voila ce que j'ai fait en gros

0->K
While P+Q+V>0 Or K>0
"Probleme"
WhileEnd

Et pourtant "problème" s'affiche toujours

C'est tout à fait normal, car K sera toujours égal à 0, donc la boucle sera toujours vraie, donc problème sera affiché en continu.
Comme le dit Theprog, essaie avec And.
Je te renvoie aussi vers ce tutoriel sur les conditions et les boucles : http://www.planet-casio.com/Fr/programmation/conditions.php

édit : en fait, mon commentaire ne sert un peu à rien...
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 10/12/2014 23:14 | #


C'est tout à fait normal, car K sera toujours égal à 0, donc la boucle sera toujours vraie, donc problème sera affiché en continu.

Pour le coup, je suis pas d'accord. La condition k>0 sera fausse.
Après, ce qui va faire changer la donne c'est les valeurs de Q, V et P vu que la seconde condition est fausse.
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 11/12/2014 07:14 | #


En fait c'est de la logique :
Si tu fais :
While Condition1 And Condition2

Si l'une des conditions n'est plus vérifiée (Condition1 And Condition2) n'est plus vérifié non plus et la boucle s'arrête.

Alors que si tu fais :
While Condition1 Or Condition2

L'ensemble (Condition 1 Or Condition2) sera vérifié tant que l'une des deux contions est bonne et la boucle continuera.
Pour qu'elle se stoppe il faut que les deux contions ne soient plus vérifiées.





Ajouté le 11/12/2014 à 07:19 :


Ce que tu veux c'est que la boucle s'arrête si P+Q+V>0 ou si K>0 ?
Parce que le principe du While c'est de continuer tant que les conditions sont vérifiées.
Donc avec ce que tu as mit plus haut (mais avec le And corrigé) :
0→K
While P+Q+V>0 And K>0
"Probleme"
WhileEnd

la condition K>0 ne sera pas vérifiée dès le départ (tu as fait 0→K juste avant) donc la boucle s'arrêtera tout de suite...

Il faut mettre la condition inverse :
0→K
While P+Q+V≤0 And K≤0
"Probleme"
WhileEnd

Tweaks : ||||| ||||
Deltaro Hors ligne Membre Points: 7 Défis: 0 Message

Citer : Posté le 11/12/2014 17:27 | #


Merci de l'aide j'ai saisis le probleme
Enfaite P+Q+V correspond a la vie de mes 3 heros et K correspond a la vie de l'adversaire
Je voulais que lorsque qu'une des conditions soit egal ou inférieur a 0 donc qu'il n'est plus de vie la boucle s'arrete
Il faut donc que j'utilise un And
Merci bien vous etes de bon conseil

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 146 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