Posté le 14/01/2018 15:53
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 50 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
Citer : Posté le 14/01/2018 15:55 | #
J'ai mis en forme ton code.
Pour que cette boucle s'arrête, il faudrait que A=10, que A=20, et que A=30 en même temps car tu continues de boucler tant que A est différent de l'un des trois !
Tu as sans doute envie de A≠10 And A≠20 And A≠30 plutôt.
Ça marche aussi pour la condition intérieure.
Citer : Posté le 14/01/2018 15:56 | #
Lpwhile A ≠ 10 And A ≠ 20 And A ≠ 30
Tant que A est différent de 10 ou A différent de 20 ou A différent de 30. On peut exprimer ça en Quitter si A est égal à 10 et A égal à 20 et A égal à 30.
Je te laisse comprendre le problème toi même
Citer : Posté le 14/01/2018 15:59 | #
Tout a été dit mais j’ajoute qu’il faut utiliser « locate » pour afficher du texte
Cela ne changera pas l’issue du programme mais c’est une bonne habitude à prendre et cela te permet de centrer ton texte
Citer : Posté le 14/01/2018 16:02 | #
J'ai mis en forme ton code.
Pour que cette boucle s'arrête, il faudrait que A=10, que A=20, et que A=30 en même temps car tu continues de boucler tant que A est différent de l'un des trois !
Tu as sans doute envie de A≠10 And A≠20 And A≠30 plutôt.
Ça marche aussi pour la condition intérieure.
Merci beaucoup de ton aide
Lpwhile A ≠ 10 And A ≠ 20 And A ≠ 30
Tant que A est différent de 10 ou A différent de 20 ou A différent de 30. On peut exprimer ça en Quitter si A est égal à 10 et A égal à 20 et A égal à 30.
Je te laisse comprendre le problème toi même
Citer : Posté le 14/01/2018 16:05 | #
Je vais paraite bête mais je ne maîtrise pas le "Quitter si"
non, c'est juste un problème de vocabulaire, le 'quitter si' veux dire sortir de la boucle DO/Lpwhile sous certaine condition, donc ici c'est juste Lpwhile [condition]
EDIT: comme dis plus bas, LPwhile [condition] veut dire 'continuer si', donc 'quitter si' c'est plus Lpwhile not(condition)
Citer : Posté le 14/01/2018 16:06 | #
Ce n’est pas une fonction c’est une façon de parler en langage algorithmique
Ce qu’il veux dire c’est que selon certaine de formule de logique ce que tu avait marqué voulais dire :
« LpWhile A=10 And A=20 And A=30 «
Ce qui est impossible et donne donc une boucle infinie
Citer : Posté le 14/01/2018 16:09 | #
Ah ben non, il a marqué LpWhile A≠10 Or A≠20 Or A≠30, ce qui ne veut pas dire LpWhile A=10 And A=20 And A=30. C'est même tout l'inverse.
Rappel utile des lois dites de De Morgan :
Not (A And B) = (Not A) Or (Not B)
Normalement c'est suffisamment intuitif pour se comprendre en le disant à l'oral.
N'oubliez pas non plus que LpWhile signifie Loop While et est donc suivi de la condition sous laquelle on continue de tourner. La notion de « quitter si la condition est vérifiée » ne s'exprime pas comme ça (voire pas du tout).
Citer : Posté le 14/01/2018 16:14 | #
My bad, j'ai pas été hyper clair. x)
Il n'y a pas de fonction "Quitter si" en basic. Mais ce que je voulais dire, c'est que souvent, modifier sa condition avec un coup d'algèbre de Bool (cf Wikipedia) permet de la rendre plus intuitive. Dans notre cas, ce n'est pas forcément évident de voir qu'il est impossible de quitter la boucle, alors que si on l'exprime d'une autre manière c'est plus clair.
Au passage, j'utilise les propriétés suivantes :
– Tant que Condition == Quitter si Non Condition
– A ou B (ou C) == Non (Non A et Non B (et Non C))
Faire un peu d'algèbre de Bool est toujours un plus histoire de ne pas reproduire ce genre de bug, parce que dans certains cas c'est beaucoup plus difficile à repérer
Citer : Posté le 14/01/2018 16:19 | #
Je suis vraiment désoler mais je ne comprend toute vos explicitations
Pouvez-vous me donnez un exemple de LpWhile
Pour dire :
Quittez la boucle si A=10 ou si A = 20 ou si A=30
?
Merci
Citer : Posté le 14/01/2018 16:21 | #
Grâce aux équations qu'à rappelé Lephe, je transforme la condition Quitter si A = 10 ou A = 20 ou A = 30 en Tant que A ≠ 10 et A ≠ 20 et A ≠ 30
Ce qui donne LpWhile A≠10 And A≠20 And A≠30
Citer : Posté le 14/01/2018 16:23 | #
Grâce aux équations qu'à rappelé Lephe, je transforme la condition Quitter si A = 10 ou A = 20 ou A = 30 en Tant que A ≠ 10 et A ≠ 20 et A ≠ 30
Ce qui donne LpWhile A≠10 And A≠20 And A≠30
Je ne comprend juste pas pourquoi on met "And" pour dire "ou"
PS : Excusez mes questions
PPS : vous êtes très gentil
Citer : Posté le 14/01/2018 16:25 | #
C’est pas un problème de répondre à ce genre de question on et tous passées par là un jour ou l’autre
Citer : Posté le 14/01/2018 16:27 | #
Ben justement, on met pas "And" pour dire "Ou"
LpWhile signifie "Tant que". Or, "Quitter si condition" est équivalent, en logique, à "Tant que non condition". Étant donné que l'on a pas de fonction "Quitter si" en Basic, on est obligé de transformer la condition qui nous intéresse, à savoir Quitter si A=10 ou A=20… pour que ça fonctionne. D'où les références à l'algèbre de Boole, et les explications des messages de Lephe et moi-même.
Une autre manière de faire serait LpWhile Not (A=10 Or A=20 Or A=30)
Citer : Posté le 14/01/2018 16:33 | #
Ben justement, on met pas "And" pour dire "Ou"
LpWhile signifie "Tant que". Or, "Quitter si condition" est équivalent, en logique, à "Tant que non condition". Étant donné que l'on a pas de fonction "Quitter si" en Basic, on est obligé de transformer la condition qui nous intéresse, à savoir Quitter si A=10 ou A=20… pour que ça fonctionne. D'où les références à l'algèbre de Boole, et les explications des messages de Lephe et moi-même.
Une autre manière de faire serait LpWhile Not (A=10 Or A=20 Or A=30)
Merci beaucoup je viens de comprendre
Je n'avais pas compris que
LpWhile signifie "Tant que".
Cela deviens logique maintenant
Merci beaucoup a tous pour votre aide