!set typelist1=!trim\
default,Auto,détermination automatique de certains types de base\
raw,Texte brut, la comparaison se fait par des options\
numeric,Nombre,la comparison se fait numériquement avec une précision fixée\
function,Fonction numérique,la comparaison se fait numériquement\
equation,Equation numérique,la comparaison se fait numériquement\
exp|algexp litexp formal,Expression mathématique,comparaison formelle\
text|case nocase,Texte,des mots ou des phrases\
multiple|checkbox click menu radio mark flashcard multipleclick,réponse à choix multiples\

!set typelist2=!trim\
atext,Texte approximatif, la comparaison tolère les différences du type singulier/pluriel ...\
chembrut,Formule brute d'une molécule,en chimie\
chemdraw,Dessiner une molécule,avec une applet Java\
chemclick,Sélectionner des atomes ou des liaisons d'une molécule,avec une applet Java\
chemeq,Equation chimique,avec analyse d'équilibre\
chset,Ensemble de caractères,\
clickfill|clickfill dragfill,Objets à glisser-déposer, qui peuvent être du texte, des images\
clicktile,Mettre en couleur des pavés, nécessite java\
compose,Composer,en utilisant des composantes fournies\
coord,Clic sur une image, dans une zone prédéfinie\
correspond,Correspondance,entre deux listes d'objets\
crossword,Mots croisés\
chessgame,Déplacement de pièces sur un échiquier\
geogebra,Géométrie dynamique,utilisation de l'applet GeoGebra\
javacurve,Dessin utilisant Java, permettant des tracés avec des formes prédéfinies ou libres\
jmolclick,Clic sur des atomes en 3D, nécessite l'applet Jmol\
jsxgraph,Géométrie dynamique,utilisation de l'applet JSXGraph\
jsxgraphcurve,Dessin utilisant JSXgraph, permettant des tracés avec des formes prédéfinies ou libres\
keyboard,Texte, tapé à partir du clavier proposé\
matrix,Matrice numérique, au sens mathématique ; la comparaison se fait numériquement coefficient par coefficient\
numexp,Nombre rationnel, la comparison se fait de façon formelle\
puzzle,Reconstituer une image, présentée comme un puzzle\
range,Nombres dans une zone,tout ce qui est dans la zone est accepté\
reorder,Mise en ordre, d'une liste d'objets\
set|set fset aset,Ensemble fini,avec une analyse textuelle ou numérique\
sigunits,Nombre,avec possibilité de demander une unité et un nombre de chiffres significatifs\
symtext,Texte,outil avancé d'identification de textes\
units,Nombre avec unité, pour la physique\
vector,Vecteur,comparaison numérique des composantes\
wlist,Liste de mots,\


!set namelist=Types de base,Types spécifiques ou avancés
!set symtextlist=text atext raw compose

<h3>Respuestas de los usuarios a un ejercicio</h3>

Hay dos maneras básicas en las que un ejercicio OEF acepta respuestas
del usuario: opciones múltiples y respuestas libres.
La respuesta que dé el usuario será analizada según su tipo.
También es posible añadir
!href cmd=help&special_parm=feedback comentarios de retroalimentación
 cuando la respuesta cumpla determinada condición (por ejemplo
para advertir de un error típico).

<h4>Opciones múltiples</h4> <p>
Una opción múltiple se define dando una lista de opciones correctas
(una o varias) y otra lista con todas las opciones (las opciones correctas
se añaden de forma automática). 
</p><p>
Se pueden pedir hasta $choicelim opciones múltiples simultáneas en un
ejercicio, con la implementación actual. El número de opciones correctas
y erróneas en una opción múltiple no tiene límite (excepto la limitación de
la longitud del texto que impone WIMS).
</p><p>
Ver la
!href cmd=help&special_parm=oef help ayuda sobre el formato OEF
 acerca de la sintaxis para definir una opción múltiple.
</p>
<a id="freestyle"></a>
<h4>Respuestas de estilo libre</h4>
Una respuesta de estilo libre es la que la tiene que escribir el usuario.
Se pueden pedir hasta $answerlim respuestas libres simultáneamente en el 
mismo ejercicio con la implementación actual. <p>
La sintaxis es la siguiente:
<pre>\answer{Texto}{\respuesta}{type=...}{option=...}{weight=...}</pre>
<br/>
(Los 3 últimos campos son opcionales).
<p>
Cada respuesta libre puede tomar independientemente uno de los siguientes
tipos:
</p>
!for i=1 to 2
 <span class="bold">$(namelist[$i])</span>
 !set n=!linecnt $(typelist$i)
 <ul>
 !for j=1 to $n
  !set l=!line $j of $(typelist$i)
  !distribute item $l into name,title
  !set desc=!item 3 to -1 of $l
  !set name=!replace internal | by , in $name
  !set name1=!item 2 to -1 of $name
  !set name=!item 1 of $name
  !default name1=$name
  !if $name isitemof $special_parm or all isitemof $special_parm
   <li><a id="_$name"></a>
   !read help/anstype.$lang/$name.phtml
   !if $name iswordof $symtextlist
    <p>
    <b>Remarque</b>.
    Ce type de réponse accepte l'option symtext. Si le mot <span class="tt wims_code_words">symtext</span> est
    déclaré dans l'option de la réponse, l'analyse de la réponse sera exactement
    comme pour
    !href cmd=help&special_parm=reply,symtext#_symtext symtext
, en particulier sans aucun traitement préalable des textes. Et toutes les
    options symtext seront comprises dans ce cas.
    </p>
   !endif
  !else
  <li>
   !href cmd=help&special_parm=reply,$name#_$name $title
   (<span class="tt wims_code_words">$name1</span>) $desc.
  !endif
  </li>
 !next j
 </ul>
!next i

!read help/$lang/embedans.phtml

<h3>Le paramètre optionnel <span class="tt wims_code_words">weight</span></h3>
<a id="weight"></a> 
Il permet d'imposer un poids aux questions posées.
<br/>
Exemple :
<pre>\answer{}{1}{type=numeric}{weight=8}
\answer{}{1}{type=numeric}{weight=2}
</pre>

Le niveau de sévérité  sera aussi pris en compte lors du 
calcul fait et le pourcentage sera pris sur un pourcentage fixé
par le niveau de sévérité. 

Il est possible de mettre des variables dans <span class="tt wims_code_words">weight</span>
dans la mesure où elles sont définies avant le <span class="tt wims_code_variable">\statement</span>.
<br/>
Exemple :
<pre>
\text{w = \t = 1 ? 1 : 2}
\answer{}{1}{type=numeric}{weight=\w}
\answer{}{1}{type=numeric}{weight=3}
</pre>

<h3>Le paramètre optionnel <span class="tt wims_code_words">option</span></h3>
 <a id="option"></a>
 Dans le cas de plusieurs options, elles sont séparées par des espaces. 
 Par exemple, <span class="tt wims_code_words">option=default noanalyzeprint</span>
 
Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">\answer</span>
ou <span class="tt wims_code_variable">\condition</span> sont
<ul>
<li><span class="tt wims_code_words">option=default</span> : L'option <span class="tt wims_code_words">default</span> est commune à toutes les réponses libres :  cette option
peut prendre la forme <span class="tt wims_code_words">default="valeur_par_défaut"</span>. Si l'utilisateur donne une réponse vide, c'est la valeur_par_défaut
qui remplace.
</li>
<li>
<span class="tt wims_code_words">option=split</span> : Dans le cas d'une réponse dont
le type est <span class="tt wims_code_words">correspond</span>, <span class="tt wims_code_words">checkbox</span> ou <span class="tt wims_code_words">mark</span>, la notation
tient compte des réponses justes, même si elles ne le sont pas toutes. 
</li>
<li>
<span class="tt wims_code_words">option=nonstop</span> : Dans le cas d'un exercice à étapes, les questions
suivantes sont posées même en cas de réponses fausses.
</li>
<li><span class="tt wims_code_words">option=noanalyzeprint</span> : Le texte automatique d'analyse de réponses n'est
pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable. 
Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique
est souvent inadéquat. Attention, l'analyse des conditions n'est pas non plus affichée. 
Seul le score subsiste.</li>
<li>A la suite d'une instruction <span class="tt wims_code_words">condition</span>, 
<span class="tt wims_code_words">option=hide</span> : La condition sera utilisée pour l'analyse
de la réponse mais ne sera pas  affichée. 
</li>
</ul>
D'autres options peuvent être utilisables dans des types particuliers de réponses.

<h4>Condiciones de comprobación</h4>
<p>
Bajo ciertas circunstancias, es deseable que las respuestas de estilo libre
se corrijan según condiciones especiales (preguntas con múltiples respuestas
correctas, ejercicios que pidan ejemplos, respuestas determinadas por 
desigualdades, etc). Puede hacerse de la siguiente manera: 
</p><p>
Si la respuesta correcta a una pregunta libre es una variable indefinida
hasta ahora,
la respuesta a esta cuestión se asignará en esa variable. La variable
puede usarse en adelante para implementar las condiciones de comprobación. La
puntuación dada al ejercicio se determinará por el número de condiciones
de comprobación que se satisfagan, en lugar del número de respuestas que 
coincidan con la respuesta correcta.
</p><p>
Se pueden definir hasta $condlim condiciones simultáneas para un ejercicio,
con la implementación actual. Únicamente las respuestas numéricas
pueden ser corregidas así. La sintaxis es
</p>
<pre>
\condition{texto de la pregunta}{condiciones de comprobación}{weight=...}
</pre>
(el último campo es optional).
 <p>
A continuación presentamos algunos ejemplos de condiciones de comprobación 
(<span class="tt wims_code_words">\ans1</span> y <span class="tt wims_code_words">\ans2</span> 
son dos variables indefinidas que aparecen 
en las  definiciones de las respuestas libres, como se describe antes).

!href target=wims_mhelp cmd=help&special_parm=if Lista completa de las relaciones
</p>
$table_header
$table_hdtr<th>Condición<th>significado</th></tr>
$table_tr<td><tt class="wims_code_words">\ans1>=0 and \ans1<=1</tt></td>
    <td>Correcta si <span class="tt wims_code_words">ans1</span> está en el intervalo [0,1].</td></tr>
$table_tr<td class="tt wims_code_words">\ans1=1 or \ans1=3 or \ans1=5</td>
    <td>Correcta si <span class="tt wims_code_words">ans1</span> es 1, 3 o 5.</td></tr>
$table_tr<td class="tt wims_code_words">(\ans1)*(\ans2)=6 and (\ans1)+(\ans2)=5</td>
    <td>Correcta si <span class="tt wims_code_words">ans1</span> y <span class="tt wims_code_words">ans2</span> son las dos 
    raíces del polinomio x<sup>2</sup>-5x+6.</td></tr>
$table_tr<td class="tt wims_code_words">sin(\ans1)=0</td>
    <td>Correcta si <span class="tt wims_code_words">ans1</span> es un múltiplo de $m_pi.</td></tr>
$table_end
<p>
Ver la
!href cmd=help&special_parm=oef ayuda sobre el formato OEF
 para ver la sintaxis de la definición de las respuestas.
</p>
