<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tr>
<td class="faq">
<br>
!href cmd=new&job=index Introduction
<br>
!href cmd=new&job=debuter Débuter
<br>
!href cmd=new&job=documentation Documentations
<br>
!href cmd=new&job=ressource Ressources disponibles

<br>
<hr noshade>
!href cmd=new&job=classe Classes
<br>
!href cmd=new&job=forum Forum
<br>
!href cmd=new&job=promo Promouvoir
<br>
!href cmd=new&job=edu Pédagogie
<br>
<hr noshade>
!href cmd=new&job=document Documents
<br>
!href cmd=new&job=logiciel Logiciels
<br>
!href cmd=new&job=oef Exercices OEF
<br>
!href cmd=new&job=modtool Modtool
<br>
!href cmd=new&job=graphics Graphiques
<br>
<hr noshade>
!href cmd=new&job=portal Gestion d'un établissement
<br>
!href cmd=new&job=gestion Gestion d'un site
<br>
!href cmd=new&job=knowims KNOWIMS
<br>
!href cmd=new&job=total La FAQ en entier
<br>
<hr noshade>

!href cmd=new&job=link Liens ressources WIMS
<br>
<hr noshade>


</td>
<td valign="top"><table width="100%" class="faq_head"><tr><td class="faq_head2">Exercices OEF</td></tr></table><ol><li><a href="#r_exooef"
>Qu'est-ce que OEF ?</a><a name="q_exooef">&nbsp;</a></li>
<li><a href="#r_langageoef"
>Où est la documentation du langage OEF ?</a><a name="q_langageoef">&nbsp;</a></li>
<li><a href="#r_createx"
>Qu'est-ce que Createxo ?</a><a name="q_createx">&nbsp;</a></li>
<li><a href="#r_oef_affichage"
>J'ai fait mon premier exercice OEF et les réponses s'affichent. 
Est-ce normal ?</a><a name="q_oef_affichage">&nbsp;</a></li>
<li><a href="#r_oef_comment"
>Y a-t-il des exemples commentés d'exercices ? </a><a name="q_oef_comment">&nbsp;</a></li>
<li><a href="#r_oef_data"
>Je voudrais appeler dans un exercice OEF un fichier
de données par exemple en utilisant <tt class="c">slib(data/randline)</tt>.
</a><a name="q_oef_data">&nbsp;</a></li>
<li><a href="#r_typereponse"
>Createxo distingue réponses libres et à choix multiples.
Quid ?</a><a name="q_typereponse">&nbsp;</a></li>
<li><a href="#r_limoef"
>Qu'est-ce qu'on ne peut pas faire avec OEF?</a><a name="q_limoef">&nbsp;</a></li>
<li><a href="#r_bonexo"
>J'ai de bons exercices OEF ou Modtool, comment les
intégrer à la distribution ?</a><a name="q_bonexo">&nbsp;</a></li>
<li><a href="#r_tex"
>Les formules TeX ne sont pas lisibles.
Comment augmenter leur  taille ?</a><a name="q_tex">&nbsp;</a></li>
<li><a href="#r_oefprog"
>Peut-on mettre des boucles et des branchements conditionnels dans
un exercice
OEF?</a><a name="q_oefprog">&nbsp;</a></li>
<li><a href="#r_crochet"
><tt class="c">\text{ s = ]a, b[ }</tt> est refusé par le compilateur.</a><a name="q_crochet">&nbsp;</a></li>
<li><a href="#r_oef_commande"
>Quelles sont les commandes de programmation accessibles dans
les exercices OEF ? </a><a name="q_oef_commande">&nbsp;</a></li>
<li><a href="#r_oef_plus"
>Comment compter les mots d'une phrase ou le nombre 
de caractères ? </a><a name="q_oef_plus">&nbsp;</a></li>
<li><a href="#r_oef_syntax_specials"
>J'ai des problèmes pour manier des textes
contenant des virgules, ou des "&#92;" !</a><a name="q_oef_syntax_specials">&nbsp;</a></li>
<li><a href="#r_oef_syntax"
>
<tt class="c">\a * \a</tt> est faux !
(après <tt class="c">\text{ a = x + y }</tt>)</a><a name="q_oef_syntax">&nbsp;</a></li>
<li><a href="#r_oef_weight"
>Je veux faire un exercice avec des poids aux questions
et cela ne marche pas.
</a><a name="q_oef_weight">&nbsp;</a></li>
<li><a href="#r_intervalle"
>Je n'arrive pas à écrire un intervalle, WIMS enlève la
virgule.</a><a name="q_intervalle">&nbsp;</a></li>
<li><a href="#r_oef_precision"
>Que signifie la précision et comment est calculée l'erreur
dans les exercices numériques ? 
</a><a name="q_oef_precision">&nbsp;</a></li>
<li><a href="#r_oef_sqrt"
>J'affiche une racine carrée et il reste des parenthèses.</a><a name="q_oef_sqrt">&nbsp;</a></li>
<li><a href="#r_solve"
>La commande <tt class="c">solve</tt> ne renvoie pas la racine exacte ?</a><a name="q_solve">&nbsp;</a></li>
<li><a href="#r_embed"
>Comment insérer la réponse dans le texte d'un énoncé ?</a><a name="q_embed">&nbsp;</a></li>
<li><a href="#r_oef_aide"
>Je désirerai mettre une aide commune à plusieurs exercices
d'un module OEF. </a><a name="q_oef_aide">&nbsp;</a></li>
<li><a href="#r_oef_step"
>Avez-vous un exemple d'exercice à étapes ? </a><a name="q_oef_step">&nbsp;</a></li>
<li><a href="#r_oef_step_stop"
>Dans un exercice à étapes, une réponse fausse au
premier  <tt class="c">step</tt> entraîne-t-elle nécessairement l'arrêt de
l'exercice ?</a><a name="q_oef_step_stop">&nbsp;</a></li>
<li><a href="#r_oef_nextstep"
>Comment faire des exercices dont la deuxième question
dépend de ce qu'a répondu l'élève à la première ?</a><a name="q_oef_nextstep">&nbsp;</a></li>
<li><a href="#r_oef_clickfill"
>Avez-vous un  exemple d'exercice demandant de reconstituer 
des phrases (<tt class="c">clickfill</tt>)? </a><a name="q_oef_clickfill">&nbsp;</a></li>
<li><a href="#r_oef_corr"
>Dans un exercice utilisant le type de réponse 
<tt class="c">correspond</tt>, peut-on gérer les ambiguïtés ? 
</a><a name="q_oef_corr">&nbsp;</a></li>
<li><a href="#r_oef_draw"
>Avez-vous un exemple de dessin ? </a><a name="q_oef_draw">&nbsp;</a></li>
<li><a href="#r_oef_animate"
>Comment se sert-on de <tt class="c">animstep</tt></a><a name="q_oef_animate">&nbsp;</a></li>
<li><a href="#r_oef_matrice"
>Je voudrais utiliser des matrices et faire des produits. Que
dois-je utiliser ?</a><a name="q_oef_matrice">&nbsp;</a></li>
<li><a href="#r_oef_matrice1"
>Je voudrais créer une matrice avec certaines propriétés
...</a><a name="q_oef_matrice1">&nbsp;</a></li>
<li><a href="#r_oef_matrice2"
>J'ai récupéré la réponse reply1 sous forme de matrice et pourtant
PARI/GP ne l'interprète pas comme une matrice?</a><a name="q_oef_matrice2">&nbsp;</a></li>
<li><a href="#r_oef_matricesubst"
>J'ai obtenu une matrice avec <tt
class="c">slib(matrix/random)</tt>
et je voudrais changer un coefficient.</a><a name="q_oef_matricesubst">&nbsp;</a></li>
<li><a href="#r_oef_random_pari"
>La fonction <tt class="c">random</tt> semble interférer
entre PARI/GP et WIMS ?</a><a name="q_oef_random_pari">&nbsp;</a></li>
<li><a href="#r_oef_slib"
>Je me souviens avoir vu une liste de scripts, mais je ne retrouve pas 
la documentation ?
</a><a name="q_oef_slib">&nbsp;</a></li>
<li><a href="#r_oef_item"
>Que fait l'instruction  <tt class="c">\text{S1=item(3..-1,\S)}</tt>. </a><a name="q_oef_item">&nbsp;</a></li>
</ol><hr><h3><a href="#q_exooef"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_exooef"
>Qu'est-ce que OEF ?</a></h3>
OEF signifie <tt class="d">Online Exercise Format</tt>. C'est une interface simplifiant la
fabrication des énoncés. Elle aide les novices, mais ses possibilités et sa
souplesse en font aussi un outil de choix pour experts pressés.
De nombreux types d'exercices (gérant la présentation des questions et l'analyse
des réponses) sont proposés et faciles d'utilisation (
!href cmd=new&target=wims_exo&module=adm/createxo&+modtoolhelp=yes&&+special_parm=reply types de réponses
).
<h3><a href="#q_langageoef"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_langageoef"
>Où est la documentation du langage OEF ?</a></h3>
!href cmd=new&target=wims_exo&module=adm/createxo&+modtoolhelp=yes Aide OEF
. Si vous êtes en train de créer un exercice
OEF, vous trouverez aussi ce lien dans la barre de menu en haut (<tt class="e">
Aide</tt>). On peut aussi regarder
le document

!href cmd=new&target=wims_exo&module=help/teacher/docexooef.fr DocAide Exercices OEF
.

<h3><a href="#q_createx"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_createx"
>Qu'est-ce que Createxo ?</a></h3>
!href cmd=new&target=wims_exo&module=adm/createxo Createxo
 est une interface permettant de créer des
exercices oef
sur le serveur par une page web

<h3><a href="#q_oef_affichage"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_affichage"
>J'ai fait mon premier exercice OEF et les réponses s'affichent. 
Est-ce normal ?</a></h3>Oui, en mode de programmation (développement)
ou lorsqu'on est enseignant dans une
classe, la plupart des réponses sont affichées. Elles ne le seront plus heureusement
lorsque c'est un élève d'une classe qui fait l'exercice. C'est ce que signifie
la phrase suivante :
<tt class="d">Mode de développement : les bonnes réponses sont insérées 
dans les champs de réponse par défaut. </tt>

<h3><a href="#q_oef_comment"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_comment"
>Y a-t-il des exemples commentés d'exercices ? </a></h3>Vous pouvez trouver des exercices commentés dans le document

!href cmd=new&target=wims_exo&module=help/teacher/docexooef.fr DocAide Exercices OEF
 et sur le site <a href="http://www.poitou-charentes.iufm.fr/wims/cd/">Poitou-Charentes</a>.  

<h3><a href="#q_oef_data"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_data"
>Je voudrais appeler dans un exercice OEF un fichier
de données par exemple en utilisant <tt class="c">slib(data/randline)</tt>.
</a></h3>On ne peut pas le faire dans une classe. Vous devez pour cela 
avoir un compte Modtool et créer un module d'exercices OEF (voir
des explications dans le document 

!href cmd=new&target=wims_exo&module=help/developer/docmodtooloef.fr Doc Modules d'exercices OEF

). 

<h3><a href="#q_typereponse"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_typereponse"
>Createxo distingue réponses libres et à choix multiples.
Quid ?</a></h3>
Dans une réponse à choix multiples, l'élève choisit parmi plusieurs réponses
imposées (clic de souris). Dans une réponse libre, il tape lui-même sa
réponse au clavier : cela peut être un nombre, un ensemble de nombres, un
texte, une fonction, une matrice ...
<p>
<h3><a href="#q_limoef"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_limoef"
>Qu'est-ce qu'on ne peut pas faire avec OEF?</a></h3>
Vous n'avez pas le contrôle de la notation de l'exercice : le calcul des
points est fait de manière "opaque". Vous ne pouvez pas non plus gérer une
progression dans la difficulté. Modtool est plus flexible
mais demande beaucoup plus de travail.

<h3><a href="#q_bonexo"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_bonexo"
>J'ai de bons exercices OEF ou Modtool, comment les
intégrer à la distribution ?</a></h3>Transmettez-les à votre gestionnaire de site, ou à
<script language="javascript1.1" type="text/javascript">var nom='bpr', sit='math.u-psud.fr', nick='Bernadette Perrin-Riou'; writeMail();</script><noscript>Bernadette Perrin-Riou</noscript>.

<h3><a href="#q_tex"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_tex"
>Les formules TeX ne sont pas lisibles.
Comment augmenter leur  taille ?</a></h3>Si vous êtes utilisateur, vous pouvez régler la taille dans les
préférences de WIMS par le navigateur.
<p>Si vous programmez un exercice, vous pouvez utiliser les macros
LaTeX standard, comme <tt class="c">\large</tt>, <tt
class="c">\Large</tt>, <tt class="c">\huge</tt> ou
<tt class="c">\Huge</tt>.

<h3><a href="#q_oefprog"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oefprog"
>Peut-on mettre des boucles et des branchements conditionnels dans
un exercice
OEF?</a></h3>Oui, aussi bien dans la partie <tt class="c">\statement</tt>
qu'en dehors, ainsi que dans les documents.
On peut utiliser 
<pre class="c">
\if{test}{}{  }
\while{test}{  }
\for{i = 1 to 4}{  }
</pre>
Ici <tt class="c">test</tt> est un test, par exemple <tt class="c">\a issametext toto</tt>, 
à l'intérieur de <tt class="c">{}</tt> doivent être mises des commandes : 
par exemple <tt class="c">\text{a = 2}</tt>. 

<h3><a href="#q_crochet"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_crochet"
><tt class="c">\text{ s = ]a, b[ }</tt> est refusé par le compilateur.</a></h3>C'est un bogue du compilateur. Pour l'éviter, mettez le code html
ou TeX: <tt class="c">\text{ s = &amp;#93;a, b&amp;#91; }</tt> ou <tt
class="c">\text{ s = \rbrack a, b \lbrack }</tt>.
<p>Il y a d'autres codes html qu'il est bon de connaître, par exemple
<tt class="c">&amp;#44;</tt> si on veut mettre une virgule dans un élément
d'une liste.
<pre class="c">
    \text{ a = 1&amp;#44;2, 3 }
    \text{ b = item(1,\a) }
    \statement{ \b }
</pre>
WIMS vérifie l'appariemment des crochets et des
parenthèses, et qu'un crochet ouvrant doit précéder tout crochet fermant.

<h3><a href="#q_oef_commande"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_commande"
>Quelles sont les commandes de programmation accessibles dans
les exercices OEF ? </a></h3>Il ne s'agit pas de remplacer l'aide et la 
documentation mais de parcourir rapidement les possibilités :
<p>Variables prédéfinies 
<pre>
<tt class="c">imagedir</tt> : <tt class="d">\imagedir</tt>
<tt class="c">confparm1</tt> : <tt class="d">\confparm1</tt>
<tt class="c">confparm2</tt> : <tt class="d">\confparm2</tt>
<tt class="c">confparm3</tt> : <tt class="d">\confparm3</tt>
<tt class="c">confparm4</tt> : <tt class="d">\confparm4</tt>
<tt class="c">step</tt> : <tt class="d">\step</tt>
</pre>
Commandes
<pre>
<tt class="c">answer</tt> : <tt class="d">\answer{mon_texte}{\reponse}{type= xxx}{option=xxx}</tt>
<tt class="c">author</tt> : <tt class="d">\author{xxx}</tt>
<tt class="c">choice</tt> : <tt class="d">\choice{xxx}{test}{}</tt>
<tt class="c">complex</tt> : <tt class="d">\complex{xxx = yyy}</tt>
<tt class="c">computeanswer</tt> : <tt class="d">\computeanswer{yes}</tt>
<tt class="c">condition</tt> : <tt class="d">\condition{xxx}{test}</tt>
<tt class="c">conditions</tt> : <tt class="d">\conditions{c1,c2}</tt>
<tt class="c">email</tt> : <tt class="d">\email{xxx}</tt>
<tt class="c">feedback</tt> : <tt class="d">\feedback{xxx}{test}</tt>
<tt class="c">for</tt> : <tt class="d">\for{i=1 to 5}{ }</tt>
<tt class="c">format</tt> : <tt class="d">\format{html}</tt>
<tt class="c">function</tt> : <tt class="d">\function{f = x^2}</tt>
<tt class="c">help</tt> : <tt class="d">\help{xxx}</tt>
<tt class="c">hint</tt> : <tt class="d">\hint{xxx}</tt>
<tt class="c">if</tt> : <tt class="d">\if{test}{}{}</tt>
<tt class="c">int</tt> : <tt class="d">\int{a = yyy}</tt>
<tt class="c">integer</tt> : <tt class="d">\integer{a = yyy}</tt>
<tt class="c">language</tt> : <tt class="d">\language{fr}</tt>
<tt class="c">matrix</tt> : <tt class="d">\matrix{a = yyy}</tt>
<tt class="c">mdef</tt> : <tt class="d">\mdef{xxx}</tt>
<tt class="c">next</tt> : <tt class="d">\next{xxx}</tt>
<tt class="c">nextstep</tt> : <tt class="d">\nextstep{reply 2}</tt>
<tt class="c">parameter</tt> : <tt class="d">\parameter{xxx}</tt>
<tt class="c">plot</tt> : <tt class="d">\plot{xxx}</tt>
<tt class="c">precision</tt> : <tt class="d">\precision{1000}</tt>
<tt class="c">range</tt> : <tt class="d">\range{-5,5}</tt>
<tt class="c">rational</tt> : <tt class="d">\rational{r = 3/2}</tt>
<tt class="c">real</tt> : <tt class="d">\real{r = 3/2}</tt>
<tt class="c">reply</tt> : <tt class="d">\reply{xxx}{}{}{}</tt> voir <tt class="d">\answer{}{}{}</tt>
<tt class="c">solution</tt> : <tt class="d">\solution{xxx}</tt>
<tt class="c">statement</tt> : <tt class="d">\statement{xxx}</tt>
<tt class="c">steps</tt> : <tt class="d">\steps{xxx}</tt>
<tt class="c">text</tt> : <tt class="d">\text{xxx}</tt>
<tt class="c">title</tt> : <tt class="d">\title{xxx}</tt>
<tt class="c">variable</tt> : <tt class="d">\variable{xxx}</tt>
<tt class="c">while</tt> : <tt class="d">\while{test}{}</tt>
</pre>
Autres : 
<pre>
<tt class="c">column</tt> : <tt class="d">\text{ a = column(1,xxx)}</tt>
<tt class="c">deriv</tt> : <tt class="d">\text{ a = deriv(xxx,x)}</tt>
<tt class="c">derivative</tt> : <tt class="d">\text{ a = derivative(xxx,x)}</tt>
<tt class="c">det</tt> : <tt class="d">\text{ a = det(xxx)}</tt>
<tt class="c">determinant</tt> : <tt class="d">\text{ a = determinant(xxx)}</tt>
<tt class="c">diff</tt> : <tt class="d">\text{ a = diff(xxx,x)}</tt>
<tt class="c">draw</tt> : <tt class="d">\text{ a = draw(xxx)}</tt>
<tt class="c">evaluate</tt> : <tt class="d">\text{ a = evaluate(x^2,x = 2)}</tt>
<tt class="c">evalue</tt> : <tt class="d">\text{ a = evalue(x^2, x = 2)}</tt>
<tt class="c">htmlmath</tt> : <tt class="d">\text{ a = htmlmath(xxx)}</tt>
<tt class="c">int</tt> : <tt class="d">\text{ a = int(x^2,x= 0 .. 2)}</tt>
<tt class="c">integral</tt> : <tt class="d">\text{ a = integral(xxx)}</tt>
<tt class="c">integrate</tt> : <tt class="d">\text{ a = integrate(xxx,x=1 .. 2)}</tt>
<tt class="c">item</tt> : <tt class="d">\text{ a = item(1,xxx)}</tt>
<tt class="c">items</tt> : <tt class="d">\text{ a = items(xxx)}</tt>
<tt class="c">mathexp_cut</tt> : <tt class="d">\text{ a = mathexp_cut(xxx)}</tt>
<tt class="c">maxima</tt> : <tt class="d">\text{ a = maxima(xxx)}</tt>
<tt class="c">pari</tt> : <tt class="d">\text{ a = pari(xxx)}</tt>
<tt class="c">pickone</tt> : <tt class="d">\text{ a = pickone(xxx)}</tt>
<tt class="c">position</tt> : <tt class="d">\text{ a = position(xxx)}</tt>
<tt class="c">positionof</tt> : <tt class="d">\text{ a = positionof(xxx)}</tt>
<tt class="c">randint</tt> : <tt class="d">\text{ a = randint(xxx)}</tt>
<tt class="c">randitem</tt> : <tt class="d">\text{ a = randitem(xxx)}</tt>
<tt class="c">random</tt> : <tt class="d">\text{ a = random(xxx)}</tt>
<tt class="c">randomitem</tt> : <tt class="d">\text{ a = randomitem(xxx)}</tt>
<tt class="c">randomrow</tt> : <tt class="d">\text{ a = randomrow(xxx)}</tt>
<tt class="c">randrow</tt> : <tt class="d">\text{ a = randrow(xxx)}</tt>
<tt class="c">row</tt> : <tt class="d">\text{ a = row(2,xxx)}</tt>
<tt class="c">rows</tt> : <tt class="d">\text{ a = rows(xxx)}</tt>
<tt class="c">shuffle</tt> : <tt class="d">\text{ a = shuffle(xxx)}</tt>
<tt class="c">simplify</tt> : <tt class="d">\text{ a = simplify(xxx)}</tt>
<tt class="c">slib</tt> : <tt class="d">\text{ a = slib(xxx)}</tt>
<tt class="c">solve</tt> : <tt class="d">\text{ a = solve(xxx)}</tt>
<tt class="c">texmath</tt> : <tt class="d">\text{ a = texmath(xxx)}</tt>
<tt class="c">wims</tt> : <tt class="d">\text{ a = wims(xxx)}</tt>
<tt class="c">yacas</tt> : <tt class="d">\text{ a = yacas(xxx)}</tt>
</pre>

<h3><a href="#q_oef_plus"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_plus"
>Comment compter les mots d'une phrase ou le nombre 
de caractères ? </a></h3>Pour les manipulations de texte avancées, vous pouvez 
utiliser les commandes wims (
!href cmd=new&target=wims_exo&module=help/wimsdoc.en&+cmd=new&subject=cmdlist#cmdlist doc tech
). Par exemple,
<pre class="c">
  \text{a =wims(wordcnt toto tata titi)}
</pre>
Pour tirer un mot au hasard, 
<pre class="c">
 \text{a=wims(randword toto tata titi)}
</pre>
<p>
<h3><a href="#q_oef_syntax_specials"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_syntax_specials"
>J'ai des problèmes pour manier des textes
contenant des virgules, ou des "&#92;" !</a></h3>Remplacer les caractères par leur code html,
par exemple <tt class="c">&amp;#93;</tt> pour un crochet et <tt
class="c">&amp;#44;</tt> pour une virgule.

<h3><a href="#q_oef_syntax"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_syntax"
>
<tt class="c">\a * \a</tt> est faux !
(après <tt class="c">\text{ a = x + y }</tt>)</a></h3>L'évaluation remplace littéralement les variables par leurs
valeurs, sans parenthésage implicite. Dans cet exemple, WIMS calcule
<tt class="c">x + y * x + y</tt>.
<p>Utiliser 
<pre class="c">
  \text{ a = (x + y) }
  \text{ b = \a * \a }
  \statement{\b}
</pre>    
ou mieux 
<pre class="c">
  \text{ a = x + y }
  \text{ b = (\a) * (\a) }
  \statement{\b}
</pre> s'il n'est pas garanti que
<tt class="c">a</tt> soit de type numérique.

<h3><a href="#q_oef_weight"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_weight"
>Je veux faire un exercice avec des poids aux questions
et cela ne marche pas.
</a></h3>Il semble que pour l'instant lorsque vous testez votre 
exercice avec Createxo, le score ne tient pas compte des poids. 
Par contre, il en tiendra compte lorsque l'exercice sera utilisé. 
Exemple de tests  avec un niveau de sévérité 3 (menu intro): 
<pre class="c">
  \statement{}
  \answer{}{1}{type=numeric}{weight=8}
  \answer{}{1}{type=numeric}{weight=2}
</pre> 
sous Createxo :  
<ul>
<li>
les réponses 1, 0 donnent une note de  7.2,
<li>les réponses 0, 1 donne une note de 0.9
</ul>
directement  : 
<ul>
<li>les réponses 1, 0 donnent une note de 7.9,
<li>les réponses 0, 1 donnent une note de 0.4
</ul>
<pre class="c">
  \statement{}
  \answer{}{1}{type=numeric}{weight=2}
  \answer{}{1}{type=numeric}{weight=8}
 </pre>
sous Createxo : 
<ul>
<li>les réponses 1, 0 donnent une note de 7.2,
<li>les réponses 0, 1 donnent une note de 0.9
</ul>
directement  : 
<ul>
<li>les réponses 1, 0 donnent une note de 0.4,
<li>les réponses 0, 1 donnent une note de 6.4
</ul>
<p>Pour avoir exactement les proportions 2 et 8 demandées, 
il faudra ensuite  configurer le niveau de sévérité de
l'exercice (menu d'introduction 
du module)  à 1. Mais cela est indépendant du développement
de l'exercice. 

<h3><a href="#q_intervalle"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_intervalle"
>Je n'arrive pas à écrire un intervalle, WIMS enlève la
virgule.</a></h3>C'est un bogue. <tt class="c">[ 1, 2 ]</tt> fonctionne, mais il
faut écrire
<pre class="c">
      [ \(x_2), \(x_3) ]
</pre>
et non
<pre class="c">
      \([ x_2, x_3 ])
</pre>
L'expression <tt class="c">\(...)</tt> interprète <tt class="c">...</tt> en
mode mathématique, comme une matrice ligne dans le deuxième cas.
WIMS affiche donc une matrice et non un intervalle : la
virgule est supprimée.

<h3><a href="#q_oef_precision"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_precision"
>Que signifie la précision et comment est calculée l'erreur
dans les exercices numériques ? 
</a></h3>Pour une précision relative 1/M où M est 
donnée dans le champ <tt class="c">\precision{M}</tt>, la 
réponse numérique <i>r</i> est acceptée pour la solution demandée 
<i>s</i> si et seulement si: 
<center>  (|s-r|)/Max(|s+r| ,1/M)) < 1/M </center>
 en d'autres termes,
	<ul><li>  si |s+r| < 1/M, il est vérifié que  |s-r| <  1/M^2 ; 
</li><li>
si |s+r| > 1/M, il est vérifié que  |s-r|/|s+r| < 1/M
</li></ul>

<h3><a href="#q_oef_sqrt"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_sqrt"
>J'affiche une racine carrée et il reste des parenthèses.</a></h3>Pour afficher la racine carrée de 2, vous avez deux possibilités :
<tt class="c"> \( sqrt(2) )</tt> ou <tt class="c"> \( \sqrt{2} )</tt>
(attention aux parenthèses, accolades, backslash ou non). La première utilisation 
<tt class="c"> \( 2 * sqrt(2) )</tt> 
fera disparaître <tt class="c">*</tt> car c'est WIMS qui réinterprète la racine carrée. 
 La deuxième utilisation 
<tt class="c"> \( 2 * \sqrt{2} )</tt> 
ne fera pas disparaître <tt class="c">*</tt>
car il n'y a pas d'interprétation par WIMS qui
l'envoie directement à latex. Il ne faut pas non plus écrire
<tt class="c">\(\frac{sqrt(2)}{2} )</tt> car WIMS voyant la commande latex
<tt class="c"> \frac</tt> l'envoie directement à latex qui écrira donc 
<tt class="c">sqrt(2)</tt>.

<h3><a href="#q_solve"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_solve"
>La commande <tt class="c">solve</tt> ne renvoie pas la racine exacte ?</a></h3>
Par exemple, le code suivant prétend que la bonne réponse n'est pas 0,
mais -7.4503762e-11 :
<pre class="c">
    \function{f = x}
    \text{S = solve(\f=0, x = -3.5 .. 4.5)}
    \statement{\S}
    \answer{solution}{\S}{type = set}
</pre>
Les racines sont approximatives, donc il faut remplacer le type <tt
class="c">set</tt>(ensemble) de la réponse par <tt class="c">aset</tt>
(ensemble de nombres approchés).

<h3><a href="#q_embed"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_embed"
>Comment insérer la réponse dans le texte d'un énoncé ?</a></h3>
Il faut utiliser la fonction <tt class="c">\embed</tt>
<pre class="c">
    \statement {
      &lt;br>Calculer 2 + 2 : \embed{reply 1}
    }
    \answer { 2 + 2 = }{ 4 }
</pre>

<h3><a href="#q_oef_aide"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_aide"
>Je désirerai mettre une aide commune à plusieurs exercices
d'un module OEF. </a></h3>Pour cela, vous devez passer par un compte Modtool. 
Mettez le contenu de votre aide dans le fichier 
<tt class="f">help.html</tt> au dessus de la ligne 
<tt class="c">&#33;changeto 
</tt>. Le texte sera commun à tous les exercices.
<p>[[Ce qui suit ne marche en fait pas ! Pourtant, on aimerait !
Créez un fichier, par exemple <tt class="e">aide</tt> dans lequel
vous écrivez l'aide (sans variable). Dans le fichier source d'un
exercice où vous désirez que cette aide apparaisse, 
écrivez les lignes suivantes : 
<pre class="c">
\text{monaide=wims(record 0 of aide)}
\help{\monaide}
</pre>
]]

<h3><a href="#q_oef_step"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_step"
>Avez-vous un exemple d'exercice à étapes ? </a></h3>
<pre class="c">
\title{Essai étapes}
\language{fr}
\range{-5..5}
\author{MARKEY Benoît}
\computeanswer{no}
\format{html}
\precision{100}
\integer{a = randint(0..10)}
\integer{b = randint(0..10)}
\steps{reply1 
reply2}
\statement{
  \if{\step=1}{
    Calculer la somme : \a + \b
  }
  \if{\step=2}{
    Calculer le produit : \(\a*\b)}
  }
\answer{\a + \b =}{\a+\b}{type=numeric}
\answer{\(\a * \b =)}{\a*\b}{type=numeric}
</pre>
<h3><a href="#q_oef_step_stop"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_step_stop"
>Dans un exercice à étapes, une réponse fausse au
premier  <tt class="c">step</tt> entraîne-t-elle nécessairement l'arrêt de
l'exercice ?</a></h3>Si la réponse à la première question est analysée à
travers quelque chose comme <tt class="c">\condition{}</tt>, on peut
passer la première étape sans avoir juste à cette étape. C'est
délicat, donc à manier avec précaution.

<h3><a href="#q_oef_nextstep"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_nextstep"
>Comment faire des exercices dont la deuxième question
dépend de ce qu'a répondu l'élève à la première ?</a></h3>On utilise <tt class="c">nextstep</tt>, par exemple
<pre class="c">
  \text{ nstep = reply 1 }
  \nextstep{ \nstep }
  \statement{
    \if {\step = 1} {
      Ecrire 1 ou 2 : \embed{ reply 1 }
      \exit{}
    }
    &lt;br>Vous avez écrit à l'étape 1 : \test1
    &lt;br>
    \if {\step = 2 and \test1 = 1} {
      Ecrire le plus grand de 3 ou 4 : \embed{reply 2}
    }
    \if {\step = 2 and \test1 = 2} {
      Cliquer sur le plus petit de 8 ou 9 \embed{reply 3}
      \exit{}
    }
    &lt;br>
    \if {\step = 3 and \test1 = 2}{
      Donner le carré de 4
    }
  }
  \answer{Etape 1}  {\test1}{type = numeric}
  \answer{Etape 2-1}{\test2}{type = numeric}
  \answer{Etape 2-2}{1;8,9} {type = click}
  \answer{Etape 3}  {16}    {type = numeric}
<br>
  \text{nstep = \step = 2 and \test1 = 1 ? reply 2}
  \text{nstep = \step = 2 and \test1 = 2 ? reply 3}
  \text{nstep = \step = 3 and \test1 = 2 ? reply 4}
<br>
  \condition{}{(\test1=1 and (\test2=4)) or  (\test1=2 and (\reply3=8))}
</pre>

<h3><a href="#q_oef_clickfill"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_clickfill"
>Avez-vous un  exemple d'exercice demandant de reconstituer 
des phrases (<tt class="c">clickfill</tt>)? </a></h3>
<pre class="c">
 \title{Essai clickfill}
 \language{fr}
 \range{-5..5}
 \author{MARKEY Benoît}
 \format{html}
 \precision{100}
 \text{phrase1 = le,chat,mange,la,souris;
 le,nuage,cache,le,soleil;
 quelle,heure,est,il}
 \text{phrase = randomrow(\phrase1)}
 \integer{i = items(\phrase)}
 \statement{Ecrire la phrase ci-dessous dans le bon ordre
  &lt;center>\embed{reply 1,50x70x\i}&lt;/center>
 }
 \reply{reponse}{\phrase}{type=clickfill}
</pre>
<p>
<h3><a href="#q_oef_corr"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_corr"
>Dans un exercice utilisant le type de réponse 
<tt class="c">correspond</tt>, peut-on gérer les ambiguïtés ? 
</a></h3>On peut mais les colonnes de droite et de gauche 
n'ont pas le même comportement. Un exemple : 
<pre class="c">
\text{a= 1,2,3}
\text{b=1,1,1}
\statement{}
\answer{}{\a;\b}{type = correspond}
</pre>
est mieux que
<pre class="c">
\text{a= 1,2,3}
\text{b=1,1,1}
\statement{}
\answer{}{\b;\a}{type = correspond}
</pre>
S'il peut y avoir des répétitions dans une des colonnes, il faut
donc que ce soit celle de droite.
<p>
<h3><a href="#q_oef_draw"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_draw"
>Avez-vous un exemple de dessin ? </a></h3>
<pre class="c">
\title{Essai de création de courbe}
\language{fr}
\author{M. Markey}
\computeanswer{no}
\format{html}
\precision{10000}
\text{f1 = x^2-4,sin(x),log(x),cos(x)}
\text{f2 = shuffle(\f1)}
\function{f = \f2[1]}
\text{f3 = \f2[2..4]}
\text{texte = }
\for{i = -5 to 5}{
  \text{texte = \texte
  text green,\i,0,small,\i
  text green,0,\i,small,\i}
}
  \statement{Voici un tracé de courbe&lt;p>
&lt;center>
	\draw{500,500}{xrange -5,5
yrange -5,5
parallel -5,-5,-5,5,1,0,11,blue
parallel -5,-5,5,-5,0,1,11,blue
text black,4.5,0,medium,x
text black,0,5,medium,y
\texte
plot black,\f}
&lt;/center>
&lt;p>Quelle la fonction tracée?}
\choice{la courbe est}{\f}{\f3}
</pre>
<h3><a href="#q_oef_animate"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_animate"
>Comment se sert-on de <tt class="c">animstep</tt></a></h3><tt class="c">animstep</tt>  permet d'avoir un paramètre
entier
dans l'animation d'un dessin. Un exemple :
<pre class="c">
    \text{n = animstep^2}
    \statement{
      \draw{200,200}{
        animate 20,0.2,1
        xrange -2,20
        yrange -2,20
        hline 0,animstep, blue
        vline \n, 0, red
      }
    }
</pre>
<h3><a href="#q_oef_matrice"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_matrice"
>Je voudrais utiliser des matrices et faire des produits. Que
dois-je utiliser ?</a></h3>
<a href="http://pari.math.u-bordeaux.fr">PARI/GP</a> par exemple. Il est pratique et de syntaxe légère pour
tous les calculs de matrices :
le produit de
deux matrices <em>A</em> et <em>B</em>est <em>A*B</em>.

<h3><a href="#q_oef_matrice1"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_matrice1"
>Je voudrais créer une matrice avec certaines propriétés
...</a></h3>On peut utiliser le logiciel PARI/GP, exemple :
<pre class="c">
    \text{n = randint(3..5)}
    \matrix{A = pari(matrix(\n,\n,i,j, (-1)^(i+j)*x^i*j))}
</pre>
<h3><a href="#q_oef_matrice2"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_matrice2"
>J'ai récupéré la réponse reply1 sous forme de matrice et pourtant
PARI/GP ne l'interprète pas comme une matrice?</a></h3>Ecrivez 
<pre class="c">
    \matrix{A = \reply1}
</pre>
Ainsi, wims transformera les passages à la ligne en points-virgules, 
ce qui est la manière standard d'écrire une matrice dans  PARI/GP.
<h3><a href="#q_oef_matricesubst"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_matricesubst"
>J'ai obtenu une matrice avec <tt
class="c">slib(matrix/random)</tt>
et je voudrais changer un coefficient.</a></h3>Le mieux est d'utiliser PARI/GP, par exemple :
<pre class="c">
    \matrix{A = slib(matrix/random 3,4)}
    \text{k = randint(1..3)}
    \text{l = randint(1..4)}
    \matrix{B = pari (A = Mat([\A]); A[\k,\l]=x; A)}
</pre>

<h3><a href="#q_oef_random_pari"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_random_pari"
>La fonction <tt class="c">random</tt> semble interférer
entre PARI/GP et WIMS ?</a></h3>
En effet, si une fonction qui a un sens pour WIMS est insérée dans un
programme PARI/GP (ou Maxima, etc.), elle est interprétée par
WIMS avant d'être envoyée au logiciel correspondant. Pour éviter cela,
WIMS définit l'alias <tt class="c">RANDOM</tt> de <tt
class="c">random</tt> dans PARI/GP.

<h3><a href="#q_oef_slib"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_slib"
>Je me souviens avoir vu une liste de scripts, mais je ne retrouve pas 
la documentation ?
</a></h3>
!href cmd=new&target=wims_exo&module=help/wimsdoc.en&+cmd=new&subject=slib#slib slib
 : 
Il s'agit de scripts pouvant être utilisés dans la programmation d'un exercice 
OEF
ou dans un module WIMS. Cette bibliothèque est en constante évolution. 

<h3><a href="#q_oef_item"><img alt="up" border=0 width=27 height=27 src="gifs/arrows/up1.32.gif"></a><a name="r_oef_item"
>Que fait l'instruction  <tt class="c">\text{S1=item(3..-1,\S)}</tt>. </a></h3>Il prend les éléments de 3 au dernier de la liste <tt class="c">\S</tt>

 </td></tr></table>

!tail
