syntaxe boucle jsxgraph

Accueil Forums Programmation WIMS Programmation d’exercices OEF syntaxe boucle jsxgraph

Vous lisez 5 fils de discussion
  • Auteur
    Messages
    • #8294
      Lionel Verbecq
      Participant
      Up
      0
      Down
      ::

      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.

       

    • #8295
      ambali
      Maître des clés
      Up
      0
      Down
      ::

      Bonjour,

       

      Pour une boucle dans wims par exemple :

      \text{defaut=}
      \for{u=1 to 20}{
      \integer{s=randint(101..499)}
      \text{defaut=wims(append item \s to \defaut)}
      }
      Jean-Baptiste

       

      • Cette réponse a été modifiée le il y a 9 mois par ambali.
    • #8297
      Avatar photoGilles Marbeuf
      Modérateur
      Up
      0
      Down
      ::

      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

    • #8298
      Avatar photoGilles Marbeuf
      Modérateur
      Up
      0
      Down
      ::

      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 Avatar photoGilles Marbeuf.
      • Cette réponse a été modifiée le il y a 9 mois par Avatar photoGilles Marbeuf.

      Gilles

    • #8301
      Lionel Verbecq
      Participant
      Up
      0
      Down
      ::

      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 histogramme dans jsxgraph

      Lionel

    • #8315
      Lionel Verbecq
      Participant
      Up
      0
      Down
      ::

      2e essai pour le lien vers l’image :

      https://dgxy.link/omD4q

      Lionel.

Vous lisez 5 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.