3 conditions dans boucle "while"

Fermé
Aurélie - 24 juil. 2006 à 17:33
 bob_bob - 8 mars 2012 à 01:22
Bonjour,

je voudrais lancer une boucle while, avec trois conditions : "tant que l'une des trois cases (que je nommerai) est pleine", continuer a faire ce que je prog dans la boucle".
C'est surtout comment marquer le "ou" que je ne connais pas.

merci
A voir également:

4 réponses

Bien que le sujet date, je réponds pour ceux qui tomberaient sur cette page en ayant la même question.

On ne doit pas mettre l'opérateur ''ou'' mais plutôt ''et''.

Explication:

On a une boucle while qui se répète tant que la condition soit vraie. Donc,
dès que la condition est fausse, on sort de la boucle.

Il est donc évident que mettre l'opérateur ''ou'' est une erreur de logique car la boucle sera toujours vraie et par conséquent, sera infinie à moins que toutes les conditions soient fausse.
En effet, on lira : tant que a ou b. Ainsi, si a devient faux, b peut être toujours vrai et la boucle ne fini pas si tel est le cas.

Symboles de opérateurs:

''ou'' : || while(a||b)
''et'' : && while(a&&)

corrigez moi si je me trompe.
3
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 307
7 mars 2012 à 07:38
Bonjour,

je vais te corriger puisque tu te trompes.

La personne demande que la boucle fonctionne lorsqu'au moins une des 3 cases est pleine. Il faut donc tester si la première case est pleine OU la seconde OU la troisième OU les deux premières OU les deux dernières OU la première et la dernière OU les trois cases.

Donc il faut bien utiliser le OU, vu que le seul cas où ça ne fonctionnera pas, ces quand les 3 cases seront vides.

Cordialement.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
7 mars 2012 à 09:29
Bonjour
Le ou peut facilement se transformer en et avec le theoreme de de Morgan. Mais c'est vrai qu'avec OU c'est plus simple ici donc je rejoins chossette9.
Pour le second point tu as faux aussi, l'opérateur est Or ou And.
0
ah, j'avais mal lu la question étant obnubilé par mon problème. J'avais pas le même problème alors mais ça m'a tout de même aidé à comprendre mon problème ahah
0
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 juil. 2006 à 17:48
;-)

Normalement, c'est OR...

While TrucMuche=Bidule OR Machin=Truc

blablabla...

Wend

;-)
0
reginfo@cubba.com Messages postés 2 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 5 mai 2008 1
5 mai 2008 à 01:02
essaie cet operateur '|'
while (condition1 | conditin2 | condition3)
..
..
-1
essaye double tube || c'est la solution en JAVA
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 oct. 2008 à 10:23
Oui, tout ça pour dire qu'il manque le langage.
Tu peux aussi essayer .OR.
-2
Bonjour

Tu t'es laissé entraîner par jérémy sans regarder la date ni la configuration ;-)
0