géogébra

Vous lisez 3 fils de discussion
  • Auteur
    Messages
    • #3470
      xavier
      Participant
      Up
      0
      Down
      ::

      Bonjour,

      J’essaie de programmer avec des réponses du type géogébra. Je m’en sors, sauf pour la correction. En effet si je mets une case correction dans le fichier ggb, un élève qui s’est trompé ne cliquera jamais sur “envoyer la réponse”.

      J’aimerais faire comme dans la vidéo “wims et géogébra” du colloque d’Annecy, c’est-à-dire avec un onglet “initialisation” et un autre “correction” qui n’apparaît qu’une fois qu’on a cliqué sur “envoyer la réponse”.

      Hélas, ce n’est pas expliqué dans la vidéo et je n’ai pas trouvé les fichiers utilisés.

      Merci d’avance,

      Xavier.

    • #3474
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Bonjour,

      J’ai répondu sur votre boîte mail académique.

      Je fais un copier coller :

      Pour l’onglet d’initialisation la doc se trouve dans la documentation sur la bibliothèque de scripts liée à ggb.
      init= par défaut 0 absence de bouton d’initialisation.
      Si le paramètre est à 1, l’initialisation fonctionne quelque soit la figure. Par contre elle ne prend pas en compte l’initialisation du script effectué dans ggb par l’intermédiaire de ggbOnInit.
      Si le paramètre est à 2, l’initialisation prend en compte uniquement les commandes tapées en mode texte dans la slib ou le anstype. Par contre on gagne en rapidité d’exécution.

      Pour obtenir l’onglet correction, la doc se trouve dans la documentation sur le type de réponse lié à ggb.
      feedbackscript : Sa valeur est le nom d’une fonction javascript qui doit être définie en javascript correct dans le champ \feedback. Lors de l’analyse de la réponse, un bouton permet de lancer son exécution. Par défaut le nom du bouton est Correction.
      namebutton : Sa valeur définit le nom du bouton.

      Le fichier oef suivant fait tourner l’applet assiette cassée réalisé par Daniel Mentrard. La correction est déjà réalisée.

      \title{Assiette Cassée}
      \precision{10000}
      
      \integer{bb=randint(100..170)}
      integer{bb=-10}
      \real{aa=random(6.2..8)}
      integer{aa=-4}
      \integer{aaa=\aa*100}
      \real{aaaa=\aaa/100}
      
      \matrix{mm=}
      
      \text{appletoption=showMenuBar=false
      init=1
      showToolBar=true
      customToolBar=0|2|15|3|4|8|5|38|36|40|6
      file=assiettecasse11.ggb
      enableRightClick=true
      showToolBarHelp=false
      enableLabelDrags=false
      enableShiftDragZoom=true
      width=800
      height=600
      aa=\aa
      bb=\bb}
      
      \statement{
      <div class="encadre">
      <p class="problematique">Comment déterminer le rayon de l'assiette ?</p>
      <div class="enonce">
      Au cours d'une soirée, Mélanie casse quelques assiettes de sa meilleur amie. Pour réparer le préjudice, elle
       souhaite racheter des assiettes. Afin que les nouvelles assiettes se fondent dans l'ancien service, elle
       souhaite connaître le rayon de celle-ci.
       <br /><i>Pour résoudre la problématique, la construction devra utiliser
        uniquement les points existants donc vous ne devez pas avoir de point bleu qui apparaissent.</i>
      <div class="wimscenter">
      \embed{reply1,
      \appletoption}
      </div>
      
      <div class="question">
      Le rayon des assiettes est de : \embed{reply2,4} cm
      </div>
      </div>}
      
      \answer{}{f,=LineBisector[A,B],La médiatrice du segment [AB] est construite;
      f,=LineBisector[B,C],La médiatrice du segment [BC] est construite;
      f,=LineBisector[A,C],La médiatrice du segment [AC] est construite;}{type=geogebra}{option=extra=yes precision=3 max=200 output=noobjet feedbackscript=Correction
      scenario=@:1:2@:1:3@:2:3@:1:2:3@}
      
      \answer{Rayon de l'assiette}{\aaaa}{type=numeric}{option=comma}
      
      \matrix{mm=\sc_reply1}
      
      \feedback{\mm[1;1] notin 1 or \sc_reply2!=1}{
      <script type="text/javascript">
      function Correction(){ggbApplet0.evalCommand("zz=LineBisector[A,B]");
      ggbApplet0.evalCommand("zzz=LineBisector[A,C]");
      ggbApplet0.evalCommand("zzzz=LineBisector[B,C]");
      ggbApplet0.evalCommand("A_1=Intersect[zz,zzz]");
      ggbApplet0.evalCommand("SetColor[zz,green]");
      ggbApplet0.evalCommand("SetColor[zzz,green]");
      ggbApplet0.evalCommand("SetColor[zzzz,green]");
      ggbApplet0.evalCommand("SetColor[A_1,green]");
      ggbApplet0.evalCommand("SetLineThickness[zz,7]");
      ggbApplet0.evalCommand("SetLineThickness[zzz,7]");
      ggbApplet0.evalCommand("SetLineThickness[zzzz,7]");
      ggbApplet0.evalCommand("SetPointSize[A_1,7]");
      ggbApplet0.evalCommand("ShowLabel[A_1,false]");
      ggbApplet0.evalCommand("distanceAA_1=Distance[A, A_1]");
      ggbApplet0.evalCommand('TexteAA_1=Name[A]+Name[A_1]+"="+distanceAA_1+"cm"');
      ggbApplet0.evalCommand("SetColor[TexteAA_1,green]");}
      </script>}
      
      

      Voili voilou

      • Cette réponse a été modifiée le il y a 8 années et 3 mois par Julien.
    • #3476
      xavier
      Participant
      Up
      0
      Down
      ::

      Merci beaucoup pour votre réponse.

      Ça me semble plus compliqué que prévu mais je vais essayer de comprendre.

    • #3477
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Le points importants sont les suivants :

      init=1 pour afficher l’applet d’initialisation

      feedbackscript=Correction permet d’appeler une fonction javascript Correction

      Si vous souhaitez que la correction apparaissent tout le temps on peut simplifier :

      \feedback{1=1}{<script type="text/javascript">
      function Correction(){ggbApplet0.evalCommand("commande de ggb");
      </script>}

      Une partie des commandes Géogébra sont dans la doc de la slib + un lien vers la totalité des commandes de ggb.

      Voili voilou

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