Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Erreur syntaxe avec Do --> LpWhile
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Erreur syntaxe avec Do --> LpWhile

Posté le 29/11/2015 20:33

Bonjour.
J'ai commencé à programmer sur ma Casio Graph 35+ il y a une semaine et je programme actuellement un +/- (la base ).
Mais je rencontre un problème durant l'exécution. J'aimerais résoudre le problème mais je n'arrive pas à cerné l'erreur. Je vous transmet le code que j'ai écrit.
Merci !


Fichier joint


Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 29/11/2015 20:41 | #


Salut,
J'ai passé ton code au débuggueur, et il me trouve 4 Do pour 3 LpWhile. Donc, tu as un Do orphelin.
Je fais faire une petite remarque, mais évite les Goto, ça n'aide pas à produire un code propre.
Tu peux également remplacer LpWhile 1=1 par LpWhile 1 (ça revient au même).
Enfin, pour te perfectionner, je te conseille notre tutoriel complet
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 29/11/2015 21:01 | #


Le débuggueur voit juste le Do... de Dommage car il y a bien 3 Do pour 3 LpWhile (et en enlevant le mot, il en voit 3 donc c'est sûr). En le retirant du programme, rien ne change. Pour préciser, l'erreur apparaît quand j'entre la valeur M, un message s'affiche et me demande de faire EXIT et me positionne sur le dernier LpWhile au niveau du 1.
Après, comme tu le dis, j'essais de mettre un minimum de Goto, j'ai eu un bug avec ça donc j'évite (je n'ai que 3 Goto dans le programme, je pense que ça va.
Et merci pour le tutoriel, il est beaucoup plus complet que celui que je suivait
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 29/11/2015 21:10 | #


Je viens de lire rapidement le code et je n'ai pas vu de problèmes.
Je pense que ça vient des tes Goto, ils sont en plein milieu de boucles ce qui peut causer des problèmes.

Tu as l'erreur dès la 1ère partie ou une fois que tu en as déjà fait une ?
Tweaks : ||||| ||||
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 29/11/2015 21:18 | #


L'erreur apparaît juste après que j'ai entrée la valeur de M pour la toute première fois, je n'ai rien rentrée avant (si je ne compte pas le menu [où l'on peut demander soit à jouer, soit à apprendre comment jouer, soit à quitter le programme ] )
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 29/11/2015 22:42 | #


En résumé ça bug au moment où tu perds, c'est à dire quand tu entres un M incorect et que c'était ton dernier essais ?
La calculette te place à quelle ligne après ton erreur syntaxe ? Dans le menu je suppose ?
Tweaks : ||||| ||||
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 29/11/2015 23:47 | # | Fichier joint


Non, l'erreur s'affiche alors qu'il me reste tous mes essais, je n'ai pas encore commencé à jouer. J'ai juste donné une seule valeur à M (qui à très peu de chance d'être correcte), je met généralement 5000 (près de milieu pour éliminer un max de possibilités, normal). C'est vraiment tout au début de jeu.
L'erreur m'emmène à la toute dernière ligne du code au niveau du 1 ( LpWhile |1 < le "|" est le trait qui indique où je place les élément du programme> )

Après mûre observation, j'ai remarqué que le programme pêche au moment de retourner au 1er "Do". J'ai vu dans l'exécution que derière le message d'erreur de syntaxe, il était bien indiqué si "C'est moins" ou si "C'est plus". Le programme refuse de remonter au début de la boucle et je ne sais vraiment pas pourquoi (peut-être un problème de longueur [je vais essayer ça] )

Edit: C'est bien la longueur ! J'ai essayé en enlevant une grosse partie du texte (fichier joint) et ça à fonctionner !
Ca m'embête un peu car j'aimerai le laissé mais je ne sais vraiment pas comment faire, donc si vous pouviez m'aider, j'en serai ravi !
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 30/11/2015 06:00 | #


Étonnant, je ne trouve pas qu'il y ai beaucoup de code entre le Do et le LpWhile... (J'ai déjà fait bien pire)
Le menu se trouve avant ou après ce Do ? T'as bien vérifié qu'il ne manquait pas de guillemets dans ton programme original ?

Du coup si tu as toujours celui avec le texte complet tu pourrais me le passer ? J'aimerais y jeter un coup d'œil directement

Sinon pour des programmes trop long tu peux peut-être utiliser la fonction Prog pour faire des sous programmes et "Return" pour retourner dans le programme principal (ça remplacerait les Goto)
Tweaks : ||||| ||||
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 30/11/2015 07:24 | # | Fichier joint


Evidemment que j'ai toujours le code initial ! Je prévois toujours !
Et je vais essayé avec un sous programme (même si je ne sais pas encore le faire).

Edit: Ca ne marche toujours pas même en sous programme Je ne vois vraiment pas quoi faire pour que ça fonctionne
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 30/11/2015 07:57 | #


C'était bien un problème de guillemets...
Il en manque dès le début :
Locate 1,3,"Ton objectif est de
Locate 1,4,"trouver un nombre

Et là aussi :
Locate 1,7,"Presse [EXIT]

Tweaks : ||||| ||||
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 30/11/2015 19:01 | #


Les guillemets en fin de ligne sont optionnels à certains moments(et même en les rajoutant ça ne marche pas) mais effectivement, il manquait bien des guillemets après
Else
"Félicitation"
"------"
"Tu as trouvé"
Que tu n'as pas cité ! Comme quoi on ne peut pas tout voir (surtout que je débute dans le programme, je n'ai jamais programmer auparavant) !

J'aurais peut-être besoin d'aide pour un Pierre-Papier-Ciseaux maintenant mais je ne sais pas si je fais un nouveau sujet pour ça

Et j'aurais une dernière question, est-ce que je peux cracker ma calculette sachant que je passe mon bac dans 3 ans avec ou c'est préférable de la laissé telle quelle ?

Merci pour ton aide et désolé du dérangement !
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 30/11/2015 20:17 | #


Y'a pas de problème

Je t'assures qu'avec ces 4 guillemets en plus ça fonctionne parfaitement chez moi
On peut parfois ne pas mettre des parenthèses, crochets ou accolades mais pour moi les guillemets sont obligatoires.
Je bloque aussi souvent sur certains bugs, même en relisant le code 500 fois impossible de voir où est le problème.

Pour les questions sur ton projet de Pierre-Papier-Ciseaux ça sera peut-être plus clair si tu ouvres un nouveau sujet.
Si tu n'en crées pas un nouveau chaque jour c'est pas gênant.

Pour le tweak je sais pas trop quoi te répondre par contre ^^'
La transformation conserve le mode examen, mais l'avis de quelqu'un d'autre serait le bienvenue.
Tweaks : ||||| ||||
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/11/2015 23:47 | #


Je te conseille fortement de la tweaker : pour le lycée, tu aura accès à beaucoup plus de choses (toutes celles des Graph 85 série à vrai dire…). Attention toutefois à ne pas s'habituer à utiliser des programmes de cours que tu n'aura pas au Bac. Mais pour une utilisation normale, le tweak est juste top !

Au passage, oui, il conserve bien le mode examen, donc tu pourra passer le Bac avec.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Conanguy Hors ligne Membre Points: 37 Défis: 0 Message

Citer : Posté le 01/12/2015 19:07 | #


Merci beaucoup pour ta réponse ! Je me presse de le faire du coup !

Edit: Je n'arrive pas à la crack, j'ai beau suivre les indications de ce tuto mais je n'y arrive pas. Y aurait-il un moyen différent avec la 35+e ou avec la version ( 02.05.201 ) de ma calculette ?
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 05/12/2015 23:20 | #


Regarde plutôt ce tuto, l'autre est plus à jour.
Tweaks : ||||| ||||

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 131 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