Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › syntaxe boucle jsxgraph
- Ce sujet contient 5 réponses, 3 participants et a été mis à jour pour la dernière fois par Lionel Verbecq, le il y a 8 mois et 3 semaines.
-
AuteurMessages
-
-
12 mars 2024 à 16:38 #8294Lionel VerbecqParticipant::
Bonjour,
j’ai créé un dessin dans jsxgraph dont je voudrais améliorer le code en mettant en place une boucle mais je sèche sur la syntaxe.
L’exemple est volontairement simple.
\text{E=2,3,4,5,8}
\text{script=
var board = JXG.JSXGraph.initBoard(‘jsxbox’, {
boundingbox: [-1,10,6,-1],
showCopyright:true,
keepAspectRatio:true,
axis: true});
var a1 = board.create(‘point’, [1,\E[1]], {visible : true,name: »});
var a2 = board.create(‘point’, [2,\E[2]], {visible : true,name: »});
var a3 = board.create(‘point’, [3,\E[3]], {visible : true,name: »});
var a4= board.create(‘point’, [4,\E[4]], {visible : true,name: »});
var a5 = board.create(‘point’, [5,\E[5]], {visible : true,name: »});
}
\text{image=slib(geo2D/jsxgraph jsxbox board,[250×250, min=250px max=350px left],\script)}
\statement{
\image}
fonctionne mais je voudrais mettre à la place de la création point par point une boucle.
for (let i=1;i<=5,i++){
…mais après je sèche sur la syntaxe.
Quelqu’un peut-il m’aider ?
Lionel.
-
12 mars 2024 à 18:55 #8295
-
12 mars 2024 à 19:00 #8297Gilles MarbeufModérateur::
Bonsoir,
une syntaxe possible est après la définition du board :
/*Pour récupérer la variable E de WIMS en javascript qui est une liste donc syntaxe d’un array en javascript entre [ ]*/
const Ejs=[\E];
/* On crée une liste vide a qui va contenir tous les points à créer*/
let a=[];
/* On crée une boucle pour remplir la liste a */
/* ATTENTION en javascript, le 1er élément de la liste est d’indice 0 et non 1 comme en WIMS*/for (let i=0;i<=4;i++){ a.push(board.create(‘point’,]));}
——
Le premier point créé est donc a[0] et il a pour abscisse 1 et ordonnée Ejs[0] soit E[1]=2.
Le 5e point créé est a[4] et il a pour abscisse 5 et ordonnée Ejs[4] soit E[5]=8.Rem : cette boucle convient aussi
for (let i=1;i<=5;i++){a.push(board.create(‘point’,]));}Gilles
-
12 mars 2024 à 19:19 #8298Gilles MarbeufModérateur::
Désolé le code est mal sorti :
for (let i=0;i<=4;i++){a.push(board.create('point',[i+1,Ejs[i]]));}
ou
for (let i=1;i<=5;i++){a.push(board.create('point',[i,Ejs[i-1]]));}
- Cette réponse a été modifiée le il y a 9 mois par Gilles Marbeuf.
- Cette réponse a été modifiée le il y a 9 mois par Gilles Marbeuf.
Gilles
-
12 mars 2024 à 22:17 #8301Lionel VerbecqParticipant::
Merci pour vos réponses,
@Jean-Baptiste, il s’agissait de créer une boucle dans jsxgraph (la syntaxe n’est pas la même qu’une boucle dans wims).
@Gilles, ton code fonctionne. En fait j’avais besoin seulement de connaitre const Ejs=[\E] qui m’a permis ensuite de continuer mon programme en l’allégeant grâce à une boucle.
Il me permet maintenant de dessiner des histogrammes dans jsxgraph avec une largeur fixe donnée.
Voici une photo de ce que cela donne
Lionel
-
19 mars 2024 à 20:43 #8315Lionel VerbecqParticipant
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.