champ texte lié à des curseurs et réciproquement

Rousseau-Wallon shared this question 1 year ago
Answered

Bonjour,

Dans le fichier GGB ci-dessous je voudrais que le champ-texte et les 4 curseurs soient liés dans les deux sens, c'est à dire qu'il y ait toujours :

1) n = 1000d + 100c + 10b + a ;

2) a = chiffre des unités de n, b celui des dizaines, etc.

De sorte que l'action sur l'un quelconque de ces 5 nombres agit sur les autres qui y sont liés.

En vous remerciant


PS : les représentations géométriques sont celles du système numérique cistercien

Comments (10)

photo
1

ça marche pour tous les entiers plus grands que 1000

mais pas pour ceux qui sont plus petits

car Texte(235) renvoie "235" alors qu'il faudrait "0235"


j'ai modifié avec :

SoitValeur(texte,Si(o < 1000, "0" + (Texte(o)), Texte(o)))

photo
1

version sans les fonctions TEXTE, avec la fonction RESTE :

photo
1

J'ai ajouté 2 petits boutons +1 et -1

ainsi qu'un "potentiomètre" : un point variable sur un cercle pour aller directement sur une zone d'entiers.

Je voudrais que le tout interagisse, c'est à dire que ce point modifie le champ-texte et les curseurs, les curseurs qui modifient la position du point et du champ, etc

de sorte qu'il ait trois possibilités d'entrées des entiers

c'est possible ça?

photo
1

pourquoi forçage ?

un script d'actualisation n'est-il pas toujours un forçage ?


O étant le point variable du cercle, M le centre de celui-ci et M le point "(1,0)"), j'ai essayé le script :

SoitValeur(O,Rotation(N,v,M))

avec v = Calcul 360 / 10000

mais ça marche pas

photo
1

j'ai partiellement réussi : il fallait écrire SoitValeur(O,Rotation(N,,M)) et non pas SoitValeur(O,Rotation(N,v,M)), script que j'ai placé sur le nombre Calcul.

mais l'interaction n'est pas totale (la modif de champ-texte ne fait pas bouger O) et bizarrement l'actualisation se fait mal dans le sens curseurs >> point O : le déplacement des centaines par exemple entraine (juste au début) un trop grand déplacement de O, je ne comprends pas pourquoi.

Peut-être faut-il placer le script ailleurs ?

photo
1

une idée, mais là j'ai pas le temps :

il faut peut-être regarder du côté de la CIRCULATION de l'actualisation :

créer une variable N supérieure aux autres du point de vue de l'information, à partir de laquelle serait modifiée toutes les autres en même temps

photo
1

je crois que c'est bon là, mais pas sûr, les scripts j'y comprends pas grand chose :-)

j'ai créé une variable supplémentaire INFORMATION et mis des scripts d'actualisation sur chaque variateur (curseurs, champ-texte, boutons et potentiomètre)

photo
1

Bonjour,

toujours ce même problème avec les scripts GGB :

lors de l'actualisation d'une variable, le script se lance, mais avec la valeur précédente de cette variable.

Il suffit alors de réécrire la valeur dans la variable avec SoitValeur[ o , o] avant le script.

J'ai repris le fichier "presque", déplacé le script de NLc dans "o" (le champ texte va modifier ce nombre en premier)

et en première ligne, j'ai ajouté :

SoitValeur[ o , o]

avant :

SoitValeur(d,Elément(NLc,1))

SoitValeur(c,Elément(NLc,2))

SoitValeur(b,Elément(NLc,3))

SoitValeur(a,Elément(NLc,4))

...

photo
1

je ne connaissais pas ce mot, potar

tes curseurs sont au taquet, mon potar est borné

https://www.geogebra.org/m/x4nrxpum

photo
1

apparement potar sans d est une variante acceptée

et potard signifie aussi préparateur en pharmacie d'après le tlf :

http://atilf.atilf.fr/dendi...


je garde potar sans d, mais je modifie mon alerte par :

"Tu veux péter le potar ?", ça sonne mieux

© 2020 International GeoGebra Institute