Page 1 sur 2

[Résolu] Utilisation de conditions

Message non luPosté: 18 Nov 2019, 14:38
de bosphoramus
Bonjour.
J'essaye de faire un truc dans mon et donc j'ai essayé de voir comment ça marche dans un autre programme mais étrangement je ne sais pas pourquoi mais ça ne sort pas de la boucle. Vous savez pourquoi s'il vous plait? Ne cherchez pas à comprendre ce programme ne sert à rien.

Code: Tout sélectionner
Input "F :",A
Input "D :",B
0→G
0→H

While G≠A ou H≠B
Disp "cond pas rempl"
G+1→G
H+1→H
End


Disp "cond rempl"

Re: Utilisation de conditions

Message non luPosté: 18 Nov 2019, 14:46
de Hamza.S
Essaie plutôt avec l'opérateur et

Re: Utilisation de conditions

Message non luPosté: 18 Nov 2019, 15:17
de ptijoz
Oui avec un "AND" ça me paraîtrait plus logique...

la même chose en basic

Image

Re: Utilisation de conditions

Message non luPosté: 19 Nov 2019, 18:31
de bosphoramus
Mais j'ai pas envie que les deux conditions soient remplies justement. En fait mon programme il affiche un calcul tant que X n'est pas égale au nombre demandé. et pour que ça aille plus vite j'ai demandé une vitesse d'affichage, qui affichera X fois le nombre, et tant que nombre qu'il a choisis pour afficher n'est pas égale au nombre à qui j'ajoute un à chaque fois, ça affiche (et ça reset à sa sortie). Mais si justement le nombre qu'il avait dit pour le calcul arrive quand il y a la boucle qui affiche, ça va finir la boucle même si ça dépasse. C'est peut-être pas clair donc voici le bout de code qui pose problème :

Code: Tout sélectionner
Input "1er nombre (Un): ",W
Input "2ème nombre : ",X
Input "U0 : ",V
Lbl 37
Input "Jusqu'à U ?",Q
Input "Vitesse d'affichage : ",U
Q+1→Q
0→Z
0→T
1→S
versChaîne(W)→Chn1
versChaîne(X)→Chn2
versChaîne(V)→Chn3
versChaîne(S)→Chn8
Disp "Un = "+Chn1+"Un + "+Chn2
Pause

While Z≠Q
While T≠U
WV+X→V
Disp "U"+Chn8+" = "+Chn1+" × "+Chn3+" + "+Chn2+" = ",V
versChaîne(V)→Chn3
T+1→T
Z+1→Z
S+1→S
versChaîne(S)→Chn8
End
Pause
0→T
End


Donc c'est plus un ou qui serai intéressante.
(et si vous vous demandez pourquoi pas repeat j'ai pas réussi à le faire marcher étrangement et de toute façon je ne pourrais pas faire ce que je veux comme avec le ou). Merci d'avance pour votre réponse.

Re: Utilisation de conditions

Message non luPosté: 19 Nov 2019, 18:42
de Hamza.S
commence d'abord par voir les opérateurs logiques sinon tu ne risques pas d'aller bien loin, ta calculatrice tournera en boucle infinie sans que tu ne puisses comprendre pourquoi.

en logique les opérateurs "et" et "ou" ne fonctionnent pas de la meme façon que dans la vie réelle
vie réelle : 1 et 1 c'est 1+1
logique : 1 et 1 c'est 1*1

si tu te trompes surtout sur une boucle tant que, tu risques de trouver avec des boucles qui n'en finissent jamais.

Re: Utilisation de conditions

Message non luPosté: 19 Nov 2019, 18:51
de bosphoramus
J'ai pas vraiment compris mais et il faut remplir la condition X ET la condition Y alors que ou il faut remplir soit la condition X OU la condition Y. C'est ça non?

Re: Utilisation de conditions

Message non luPosté: 22 Nov 2019, 14:21
de bosphoramus
Alors ? Je sais pas ce que je dois faire.

Re: Utilisation de conditions

Message non luPosté: 22 Nov 2019, 15:02
de Hamza.S
Tu l'as bien résumé

Re: Utilisation de conditions

Message non luPosté: 01 Déc 2019, 12:58
de bosphoramus
Oui voilà. Du coup c'est quoi le problème avec le programme ? Pourquoi il marche pas ?
Code: Tout sélectionner
Input "F :",A
Input "D :",B
0→G
0→H

While G≠A ou H≠B
Disp "condition pas rempli"
G+1→G
H+1→H
End

Disp "condition rempli"


Pour moi le programme c'est :
On demande un nombre qu'on met dans A
On demande un nombre qu'on met dans B
On initialise G à 0
On initialise H à 0

Tant que G n'est pas égale à A OU tant que H n'est pas égale à B
On affiche "condition pas rempli"
On ajoute 1 à G qu'on mets dans G
On ajoute 1 à H qu'on mets dans H
On reprends le programme depuis la condition jusqu'à qu'une des deux conditions soit remplie et quand une des deux condition est remplie on sort du programme avec End et on affiche "Condition rempli"

Je vois pas ce que ça pourrai être si c'est pas ça. Vous pouvez m'aider s'il vous plait ?

Re: Utilisation de conditions

Message non luPosté: 01 Déc 2019, 16:33
de grosged
Ce "While G≠A or H≠B...End" fera tourner en boucle tant qu'au moins l'une des 2 conditions sera vraie.
En d'autres termes, pour sortir de cette boucle, il faudra que les 2 conditions soient fausses, donc G=A et H=B ;)

Pour faire "sortir" dès que l'une des conditions sera fausse, un "While G≠A and H≠B" fera l'affaire ;)