Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › géogébra
- Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Julien, le il y a 8 années et 3 mois.
-
AuteurMessages
-
-
29 août 2016 à 09:39 #3470xavierParticipant::
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.
-
29 août 2016 à 23:06 #3474JulienModérateur::
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.
-
30 août 2016 à 08:51 #3476
-
30 août 2016 à 10:03 #3477JulienModérateur::
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
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.