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 » Bug(s) de l'interpréteur Casio Basic
Sylvaing19 Hors ligne Membre Points: 143 Défis: 18 Message

Bug(s) de l'interpréteur Casio Basic

Posté le 01/12/2012 23:07

Voici un bout de code qui s'arrête pour ''erreur syntaxe'', alors que visiblement il n'y en pas...

100->A~B
Do
While A>0
Dsz A
WhileEnd
Dsz B
LpWhile B>0

La calculatrice indique l'erreur juste avant le "LpWhile B>0"
J'ai essayé des variantes, en remplaçant :
"Dsz A" par "A-1->A"
ça bug toujours,
si je fais pareil avec B (en laissant Dsz A), ça bug aussi, mais si je met "A-1->A" et "B-1->B", là ça marche !
Si on met des Isz à la place des Dsz, ça marche aussi d'ailleurs...
Bref, tout ceci me semble très loin d'une quelconque logique

Alors si quelqu'un sait d'où ça vient, je l'écoute !


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

Citer : Posté le 01/12/2012 23:10 | #


Dsz et Isz ont une fonction cachée : si la variable vaut 0 après calcul, la ligne suivante est ignorée. Un piège classique.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 01/12/2012 23:10 | #


évite a les Dsz et Isz si tu ne connait pas leur fonctionnement secondaire (entre autre, arivé a 0, sa fait sauter la ligne suivante), je pense que le bug vient de la.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Sylvaing19 Hors ligne Membre Points: 143 Défis: 18 Message

Citer : Posté le 01/12/2012 23:35 | #


Voilà qui explique bien des choses...
(les programmeurs de chez casio sont vraiment des trolls )

En tout cas merci beaucoup !
Une petite partie d'échecs ? C'est ici Echecs 2j
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 01/12/2012 23:38 | #


C'est même précisément à ça que servent ces fonctions, incrémenter/décrémenter la variable, et sauter la ligne suivante si le résultat est nul.
Lbl 0
//contenu de la boucle
Dsz I
Goto 0

Les utiliser à la place de A±1->A est plus une astuce, c'est un peu plus court et un poil plus rapide, mais ce n'est pas fait pour.
Sylvaing19 Hors ligne Membre Points: 143 Défis: 18 Message

Citer : Posté le 02/12/2012 00:32 | #


Ces fonctions sont donc juste là pour transformer un affreux Goto/Lbl en une boucle ?
Quand un simple Do LpWhile I!=0 suffirait ?!
en voilà une drôle d'idée...
Une petite partie d'échecs ? C'est ici Echecs 2j
Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 02/12/2012 13:26 | #


pour le Dsz je veux bien
mais pour le Isz?

quel est l'utilité de sauter la ligne (sauf si on fait avec des négatifs mais bon...)

d'ailleurs, est-ce qu'il saute quand la variable est 0 ou quand la variable devient 0 après le Isz/Dsz?
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 02/12/2012 13:40 | #


Siapran a écrit :
d'ailleurs, est-ce qu'il saute quand la variable est 0 ou quand la variable devient 0 après le Isz/Dsz?
Totoyo a écrit :
Dsz et Isz ont une fonction cachée : si la variable vaut 0 après calcul, la ligne suivante est ignorée


Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 02/12/2012 16:20 | #


woops effectivement merci

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 183 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