Répondre à : géogébra

Accueil Forums Programmation WIMS Programmation d’exercices OEF géogébra Répondre à : géogébra

#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 7 années et 6 mois par Julien.