3 conditions dans boucle "while"

Aurélie -  
 bob_bob -
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
Configuration: VBA

4 réponses

  1. bob_bob
     
    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
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
    3. bob_bob
       
      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
  2. WhiteFang Messages postés 2063 Statut Membre 204
     
    ;-)

    Normalement, c'est OR...

    While TrucMuche=Bidule OR Machin=Truc

    blablabla...

    Wend

    ;-)
    0
    1. reginfo@cubba.com Messages postés 2 Statut Membre 1
       
      essaie cet operateur '|'
      while (condition1 | conditin2 | condition3)
      ..
      ..
      -1
  3. jeremy
     
    essaye double tube || c'est la solution en JAVA
    0
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Oui, tout ça pour dire qu'il manque le langage.
    Tu peux aussi essayer .OR.
    -2
    1. toto
       
      Bonjour

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