PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → "court-circuiter" un ET
"court-circuiter" un ET
Débuté par Seb, 14 avr. 2004 19:02 - 6 réponses
Posté le 14 avril 2004 - 19:02
Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET, cad
une fois qu'une des conditions n'est pas remplies, la suite n'est pas testée
(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai. Donc
si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.
Posté le 14 avril 2004 - 19:33
"Seb" <svanopphem@euroscreen.be> a écrit dans le message de news:
407d553f$1@news.pcsoft.fr...


Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,

cad
> une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée
(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai. Donc
si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.


Y'aurait bien un truc de ce style ...

BOUCLE
SI a=Vrai ALORS
SI b=Vrai ALORS
SI c=Vrai ALORS
//traitement
SORTIR
SINON
SORTIR
FIN
SINON
SORTIR
FIN
SINON
SORTIR
FIN
FIN
Posté le 15 avril 2004 - 11:46
"WinYah" <matthieu.riffard@wanadoo.fr> wrote:

"Seb" <svanopphem@euroscreen.be> a écrit dans le message de news:
407d553f$1@news.pcsoft.fr...


Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,
cad

une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée

(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai. Donc
si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.

Y'aurait bien un truc de ce style ...

BOUCLE
SI a=Vrai ALORS
SI b=Vrai ALORS
SI c=Vrai ALORS
//traitement
SORTIR
SINON
SORTIR
FIN
SINON
SORTIR
FIN
SINON
SORTIR
FIN
FIN


Je l'optimiserai même un peu plus, vu que le test égal à vrai renvoit vrai
s'il est correct, je le supprimerai, ce qui nous donne :

BOUCLE
SI a ALORS
SI b ALORS
SI c ALORS
//traitement
SORTIR
SINON
SORTIR
FIN
SINON
SORTIR
FIN
SINON
SORTIR
FIN
FIN
Posté le 15 avril 2004 - 13:33
Essaye aussi comme ça

si a=faux alors goto suite_traite
si b=faux alors goto suite_traite
si c=faux alors goto suite_traite

//traitement normal
si a=vrai et b=vrai et c=vrai alors
afasfasfasfasfa

fin



suite_traite:
//suite de ton traitement


Peut-être que j'ai répondu

"Seb" <svanopphem@euroscreen.be> a écrit dans le message de
news:407d553f$1@news.pcsoft.fr...


Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,

cad
> une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée
(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai. Donc
si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.
Posté le 15 avril 2004 - 14:12
Bonjour,

Essaye aussi comme ça

si a=faux alors goto suite_traite
si b=faux alors goto suite_traite
si c=faux alors goto suite_traite


>>//traitement normal

inutile car si on arrive la a=b=c=vrai !!!!

si a=vrai et b=vrai et c=vrai alors
afasfasfasfasfa
fin


mais il vaut mieux eviter le goto
et dans ce cas faire

v_ret est un booleen =vrai
si a=faux alors v_ret = faux
si b=faux alors v_ret=faux
si c=faux alors v_ret =faux

si v_ret alors
// traitement a=b=c=vrai
fin

Bon dev
@+

Firetox
emprin.frederic@freesbee.fr

"Lugari Nicolas (FunPlanet)" <technique@funplanet.ch> a écrit dans le
message de news: 407e580f@news.pcsoft.fr...

Essaye aussi comme ça

si a=faux alors goto suite_traite
si b=faux alors goto suite_traite
si c=faux alors goto suite_traite

//traitement normal
si a=vrai et b=vrai et c=vrai alors
afasfasfasfasfa

fin



suite_traite:
//suite de ton traitement


Peut-être que j'ai répondu

"Seb" <svanopphem@euroscreen.be> a écrit dans le message de
news:407d553f$1@news.pcsoft.fr...


Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,
cad

une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée

(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai.

Donc
> > si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on
sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.


Posté le 15 avril 2004 - 14:23
v_ret est un booleen

v_ret = (a=b=c )
// 2 resultats possibles vrai ou faux
//vrai si les trois sont vrai
//faux dans tous les autres cas et on a fait seulement une affectation


si v_ret alors
// traitement a=b=c=vrai
fin

Bon dev
@+

Firetox

"Lugari Nicolas (FunPlanet)" <technique@funplanet.ch> a écrit dans le
message de news: 407e580f@news.pcsoft.fr...

Essaye aussi comme ça

si a=faux alors goto suite_traite
si b=faux alors goto suite_traite
si c=faux alors goto suite_traite

//traitement normal
si a=vrai et b=vrai et c=vrai alors
afasfasfasfasfa

fin



suite_traite:
//suite de ton traitement


Peut-être que j'ai répondu

"Seb" <svanopphem@euroscreen.be> a écrit dans le message de
news:407d553f$1@news.pcsoft.fr...


Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,
cad

une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée

(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai.

Donc
> > si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on
sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.


Posté le 21 avril 2004 - 16:10
Salut !

On 14-Apr-2004, "Seb" <svanopphem@euroscreen.be> wrote:

Voilà, j'aimerais savoir si il est possible de "court-circuiter" un ET,
cad
une fois qu'une des conditions n'est pas remplies, la suite n'est pas
testée
(comme en C par exemple)
Je m'explique : "a ET b ET c" est Vrai si "a", "b" et "c" sont Vrai. Donc
si "a" est Faux, cela ne sert à rien de tester "b" et "c" puisque on sait
que "a ET b ET c" ne sera jamais Vrai si "a" est Faux.
J'espère que j'ai été assez clair (j'ai fait de mon mieux).
Merci d'avance.


Si tu es en WD8, au lieu de "et", tu peux utiliser "_et_" qui ne teste pas
la seconde condition ...

Bien à toi

--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477