!set titb=Exercices à étape
!set keyw=
!set datm=20040803
!set prev=
!set next=
!set upbl=main
!set dat1=19000101
!set dat2=24000101


!if $wims_read_parm!=$empty
 !goto $wims_read_parm
!endif
!exit

:content

!read primitives.phtml 1, embed, definition, &nbsp; 
Un exercice à étapes est un exercice qui ne pose pas toutes les questions à la fois. 
On pose des questions, si la réponse est juste, on en pose d'autres ...
<p>
<h4>Etapes dont on peut précalculer toutes les questions</h4>
On utilise une commande <tt class="c">$m_steps</tt>
qui crée automatiquement une variable <tt class="c">\step</tt>. A chaque fois
que l'utilisateur clique sur <tt class="d">Répondre</tt>, la variable
<tt class="c">\step</tt> est incrémentée de 1. On peut donc l'utiliser pour décider
quel texte doit être vu à un moment donné. 

!read primitives.phtml 2, link, steps, <img src="gifs/doc/ddroite.gif" alt="exemple" width="20" height="20" border=0 valign=bottom> 

<p>
 

!read primitives.phtml 3, link, equation, <img src="gifs/doc/ddroite.gif" alt="exemple" width="20" height="20" border=0 valign=bottom> 
 Exercice à étape sur les polynômes du second degré
<p>
<h4>Nombre variables de questions</h4>
Vous avez besoin d'un nombre
variables de questions selon les données aléatoires. 
c'est la commande <tt class="c">\step</tt> qui vous permettra
de résoudre ce problème &#58; on introduit à la fin du source un nombre
trop important de <tt class="c"> $m_answer$m_lbrac $m_rbrac$m_lbrac  $m_rbrac$m_lbrac  $m_rbrac </tt>
et on indique dans <tt class="c">$m_steps$m_lbrac $m_rbrac </tt> les réponses 
effectivement demandées en fonction des variables aléatoires. 
 <pre class="cc">
$m_text$m_lbrac n = $m_randint (3<tt class="w">..</tt>5) $m_rbrac
$m_text$m_lbrac STEP = $m_wims($m_makelist r x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \n) $m_rbrac
$m_steps$m_lbrac \STEP $m_rbrac </pre>
<p>

!read primitives.phtml 4, link, varreponse, Un exemple détaillé 

<p>
<h4>Etapes qu'on ne peut pas précalculer</h4>
<p>
Dans certains cas, on désire proposer une suite à l'exercice
selon ce qu'aura répondu l'élève et qu'il n'est pas possible de prévoir totalement. 
Dans ce cas, on ne peut pas définir au départ la liste des 
<tt class="c"><tt class=reply>r1</tt>,..., <tt class=reply>r10</tt></tt>. 
La commande $m_steps qui permet de décrire la liste des questions-réponses pour chaque étape
 est remplacée par
la commande $m_nextstep
<p>
<ul><li> On initialise la liste des reponses demandées à la première 
étape dans une variable <tt class="c">var</tt> (appelée dans les exemples
<tt class="c">nstep</tt>) &#58; 
<pre class="cc">
$m_text$m_lbrac var = <tt class=reply>r1</tt>, <tt class=reply>r2</tt> $m_rbrac
$m_nextstep$m_lbrac \var $m_rbrac </pre>
</li>
<li>on redéfinit la variable <tt class="c">var</tt> après le 
statement pour obtenir la liste des réponses à l'étape suivante
(selon les conditions imposées par l'exercice). Le numéro de l'étape
est alors donnée par la variable <tt class="c">step</tt> comme dans le 
cas d'un exercice à étapes classique et peut être utilisée dans les conditions de définition de <tt class="c">var</tt>. 
<p>
</li>
</ul>

!read primitives.phtml 5, link, nextstep0 

<p>
 
!read primitives.phtml 6, link, nextstep, Un autre exemple 


