Répondre à : Type jsxgraph et objet 'glider'

Accueil Forums Programmation WIMS Programmation d’exercices OEF Type jsxgraph et objet 'glider' Répondre à : Type jsxgraph et objet 'glider'

#2899
Julien
Modérateur
Up
1
Down
::

Hello,

Le bout de code suivant devrait répondre à tes attentes. Tu pourrais aussi faire en sorte que la correction s’anime lorsque les réponses sont erronées en réinjectant du javascript à la correction à l’aide de la commande moveto (<=de mémoire).

L’exemple si dessous donne la bonne place du point en vert mais on pourrait corriger en déplaçant le point voir plus si affinité.

feedback{1=1}{
<script>
point=brd.create('point',[\a*0.5+0.5,2],{name:'Correction',Color:'green',fixed:'true'});
</script>}

Actuellement je m’amuse à effectuer des types de réponses qui auront des corrections animées mais il me manque du temps de libre pour finaliser.

voili voilou

\title{WimsAnalyseJsxgraphGlider}
\language{fr}
\range{-5..5}
\author{Julien LYOTARD}
\email{Julien.lyotard@ac-dijon.fr}
\computeanswer{no}
\format{html}
\precision{10000}

\css{<style type="text/css">
.jsxx {
border: 10px solid #393b40;
margin: 2px;
padding: 2px;
background-color: #e6ebff;
border-radius: 4px;
text-align:justify;
}
</style>}

Définition de la fonction
\rational{a=random(-1,1)*randint(1..3)/randint(1..4)}
\rational{b=randint(-4..4)/randint(1..2)}
\rational{c= randint(-3..3)}
\function{f=random(\a*x^2+\b*x+\c,\a*x^3+\b*x^2+\c*x)}
Vire les coefficients nuls et les fractions a/b
\function{f = pari(\f)}
\function{fjs=wims(replace internal ^2 by *x in \f)}
\function{fjs=wims(replace internal ^3 by *x*x in \fjs)}
Calcul de la tangente
\rational{x0 = randint(-3..3)/2}
\real{y0 = evalue(\f,x=\x0)}
\function{fp = diff(\f,x)}
\function{fp=wims(replace internal ^2 by *x in \fp)}
\real{p0 = evalue(\fp,x=\x0)}
Repérage
\real{xmin = -2.5}
\real{xmax = 2.5}
\text{A=slib(function/bounds \f, x,\xmin,\xmax)}
\integer{ymin = \A[1]-1}
\integer{ymax = \A[2]+1}
\integer{ytext= \A[2]-2}

\text{script= var brd = JXG.JSXGraph.initBoard('jxgbox', {axis:false, boundingbox: [-3,\ymax,3,\ymin]});
xaxis = brd.create('axis', [[0, 0], [1, 0]], {ticks: { ticksDistance: 1, insertTicks: false}});
yaxis = brd.create('axis', [[0, 0], [0, 1]],{ ticks: { ticksDistance: 1, insertTicks: false}});
/*definition du repere au dessus*/
/*definition de la fonction et la derive*/
var ff = function(x) { return \fjs; };
var ffp=function(x) { return \fp;};
/*trace de la fonction*/
var fct= brd.create('functiongraph', [function(x){return ff(x);},-3,3],{strokeColor:'blue'});
/*trace de la tangente*/
jxgbox_rep1=brd.create('glider',jxgbox_var1,{name:'Bouge moi', strokeColor:'black',highlightFillOpacity:0});
var ptan=brd.create('point',[function(){ return jxgbox_rep1.X()+1;},function(){ return jxgbox_rep1.Y()+ ffp(jxgbox_rep1.X());}],{visible:false});
var tan=brd.create('line',[jxgbox_rep1,ptan],{strokeColor:'red'});
var txt = brd.create('text', [0.5,\ytext,function(){
return '<b>Abscisse du point "Bouge moi" : </b>'+ jxgbox_rep1.X().toFixed(2)
+'<br /><b>Nombre dérivé =</b>'+((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X())).toFixed(2)
+'<br /><b>Équation de la tangente :</b><br /> y='+ ((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X())).toFixed(2)+'x'
+(-((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X()))*ptan.X()+ptan.Y()).toFixed(2);
}],{cssClass:'jsxx',fontSize:14});
}

\statement{
Soit la fonction \(f) définie sur l'intervalle [\xmin,\xmax] par \(f(x)=\f)
<div class="wimscenter">
\embed{r3,900x500
jxgbox
\script
jxgbox_var1=[0,0,fct]
}
</div>

On note \(f') la fonction dérivée de la fonction \(f).<br />
Calculer \(f'(x)) : \(f'(x)=)\embed{reply1,20}<br />
<br />
Déterminer la valeur de la dérivée pour \(x_0 = \x0) : \(f'(\x0))= \embed{reply2,10}<br />
<br />
Vérifier avec le graphique la valeur de la dérivée.<br /> }

\answer{Dérivée de la fonction \(f) :}{\fp}{type=formal}
\answer{Valeur de la dérivée en \(x_0 = \x0) :}{\p0}{type=numeric}
\answer{}{\x0,\y0}{type=jsxgraph}{option=precision=10}
matrix{rep=}
real{test=abs(\rep[1;1]-\x0)}
real{test1=abs(\rep[1;2]-\y0)}
condition{Le point "Bouge moi" est bien placé. La valeur de son abcisse est de \(\x0)}{ \test < 0.1}