F9 actualise un curseur aléatoire, mais pas variable définie par si()

Trichard shared this problem 1 year ago
New

Je n'ai pas trouvé de réponse avec les mots clefs F9, curseur, variable

Ci-joint un fichier élémentaire avec 3 objets.

- alpha: angle aléatoire entre 1° et 100°

- a: booléen "test"

- beta=si(a,-1°,alpha)


Quelle que soit la valeur de a, en déplacement le curseur alpha à la souris, beta est correctement affecté.Lorsque a est faux, en appuyant sur F9, alpha est modifié, mais beta n'est pas actualisé.

Est-ce un bug, ou bien une information m'échappe?

Comments (4)

photo
1

For me it's a (small) bug.

Workaround (Tested in Win10 with ggb5.0.581 and ggb6.0.581 WEB chrome)

Script in α onUpdate: SetValue(α,α)

photo
1

Bonjour Noel,

Le point est : appuyez sur F9 si test=false.

photo
1

Bonjour Noël, Rami,

Encore plus mystérieux, mais pouvant aider à trouver/corriger le bug(?):

si définition conditionnelle "2\alpha / 2" (qui est équivalente à "\alpha"), alors affectation correcte.

BUG confirmé avec test opéré sur test de valeur curseur (au lieu de test sur booléen).

Voir fichier joint pour le mystère et la confirmation.

Grâce à cette astuce improbable, je corrige mon fichier, mais si on demande à des élèves de travailler avec la fonction si() et que pour une affectation de type "identité" d'une variable, cela crée une erreur, c'est la mort du petit chat...

NB: j'ai trouvé cette astuce, car j'ai observé que si au lieu d'une affectation conditionné "identité", on crée une affectation conditionnée "double", alors le bug disparaît. Il manque donc une exécution de type "évaluation" quand a priori elle est inutile. Et cette "évaluation" se réalise avec "2a / 2" ou avec "2a"; par contre, en écrivant "1*a", une pré-évaluation simplifie en "a", et l'évaluation n'est pas faite: on retrouve le BUG.

photo
1

Idée/observation très intéressante. L'expression force un calcul et ce onUpdate.

Cela encercle fortement l'erreur et donc la correction du bug devrait être "no problem" ;)

photo
© 2021 International GeoGebra Institute