Subversion Repositories wimsdev

Rev

Rev 14858 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. !set typelist1=!trim\
  2. default,Auto,détermination automatique de certains types de base\
  3. raw,Texte brut, la comparaison se fait par des options\
  4. numeric,Nombre,la comparison se fait numériquement avec une précision fixée\
  5. function,Fonction numérique,la comparaison se fait numériquement\
  6. equation,Equation numérique,la comparaison se fait numériquement\
  7. exp|algexp litexp formal,Expression mathématique,comparaison formelle\
  8. text|case nocase atext,Texte,des mots ou des phrases\
  9. multiple|checkbox click menu radio mark flashcard multipleclick,Réponse à choix multiples\
  10.  
  11. !set typelist2=!trim\
  12. chemformula,Formule brute d'une molécule,en chimie\
  13. chemdraw,Dessiner une molécule, en chimie\
  14. chemclick,Sélectionner des atomes ou des liaisons d'une molécule\
  15. chemeq,Equation chimique,avec analyse d'équilibre\
  16. chset,Ensemble de caractères,\
  17. clickfill|clickfill dragfill,Objets à glisser-déposer, qui peuvent être du texte, des images\
  18. clicktile,Mettre en couleur des pavés\
  19. clock, Mettre à l'heure une horloge\
  20. compose,Composer,en utilisant des composantes fournies\
  21. complex,Nombre complexe,la comparison se fait numériquement avec une précision fixée\
  22. coord,Clic sur une image, dans une zone prédéfinie\
  23. correspond,Correspondance,entre deux listes d'objets\
  24. crossword,Mots croisés\
  25. chessgame,Déplacement de pièces sur un échiquier\
  26. draw, Dessin utilisant canvasdraw, permettant des tracés d'un type d'objets (points, droites ...)\
  27. multidraw, Dessin utilisant canvasdraw, permettant des tracés de plusieurs types (points, droites, images, text ...)\
  28. geogebra,Géométrie dynamique,utilisation de l'applet GeoGebra\
  29. jmolclick,Clic sur des atomes en 3D, nécessite l'applet Jmol\
  30. jsxgraph,Géométrie dynamique,utilisation de l'applet JSXGraph\
  31. jsxgraphcurve,Dessin utilisant JSXgraph, permettant des tracés avec des formes prédéfinies ou libres\
  32. keyboard,Texte, tapé à partir du clavier proposé\
  33. matrix,Matrice numérique, au sens mathématique ; la comparaison se fait numériquement coefficient par coefficient\
  34. numexp,Nombre rationnel, la comparison se fait de façon formelle\
  35. puzzle,Reconstituer une image, présentée comme un puzzle\
  36. range,Nombres dans une zone,tout ce qui est dans la zone est accepté\
  37. reorder,Mise en ordre, d'une liste d'objets\
  38. set|set fset aset,Ensemble fini,avec une analyse textuelle ou numérique\
  39. sigunits,Nombre,avec possibilité de demander une unité et un nombre de chiffres significatifs\
  40. symtext,Texte,outil avancé d'identification de textes\
  41. units,Nombre avec unité, pour la physique\
  42. vector,Vecteur,comparaison numérique des composantes\
  43. wlist,Liste de mots,\
  44. time,Mémoire
  45.  
  46.  
  47. !set namelist=Types de base,Types spécifiques ou avancés
  48. !set symtextlist=text atext raw compose
  49.  
  50. <h2 id="freestyle">Réponses à un exercice</h2>
  51. <p>Un exercice OEF peut accepter les réponses des utilisateurs de manière très variée.
  52. Outre le choix multiple ou la réponse libre,
  53. on trouve de nombreuses autres possibilités.
  54. La réponse donnée par l'utilisateur est analysée selon la nature du type.
  55. D'autre part, il est possible d'afficher des
  56. !href cmd=help&special_parm=feedback commentaires ciblés
  57.  quand la réponse tombe sous une certaine condition
  58.  (pour avertir d'une erreur typique par exemple).
  59. Actuellement, jusqu'à $answerlim réponses simultanées peuvent être demandées dans
  60.  un exercice sous l'implémentation actuelle.
  61. <p>La syntaxe est la suivante (les 3 derniers champs sont optionnels) :</p>
  62. <code>\answer{Texte}{\reponse}{type=...}{option=...}{weight=...}</code>
  63. <p>
  64. La longueur de <span class="tt">Texte</span> est limitée
  65. à $max_promptlen caractères.
  66. </p>
  67. <h3>Le paramètre <span class="tt wims_code_words">type</span></h3>
  68. <p>Chaque réponse peut prendre indépendamment l'un des types suivants.</p>
  69. !for k=1 to 2
  70.  <h4>$(namelist[$k])</h4>
  71.  !set n=!linecnt $(typelist$k)
  72.  <ul>
  73.  !for j=1 to $n
  74.   !set l=!line $j of $(typelist$k)
  75.   !distribute item $l into name,title
  76.   !set desc=!item 3 to -1 of $l
  77.   !set name=!replace internal | by , in $name
  78.   !set name1=!item 2 to -1 of $name
  79.   !set name=!item 1 of $name
  80.   !default name1=$name
  81.   !if $name isitemof $special_parm or all isitemof $special_parm
  82.    <li id="_$name">
  83.    !read help/anstype.$lang/$name.phtml
  84.    !if $name iswordof $symtextlist
  85.     <p>
  86.     <b>Remarque</b>.
  87.     Ce type de réponse accepte l'option symtext. Si le mot <span class="tt wims_code_words">symtext</span> est
  88.    déclaré dans l'option de la réponse, l'analyse de la réponse sera exactement
  89.    comme pour
  90.    !href cmd=help&special_parm=reply,symtext#_symtext symtext
  91. , en particulier sans aucun traitement préalable des textes. Et toutes les
  92.    options symtext seront comprises dans ce cas.
  93.    </p>
  94.   !endif
  95.  !else
  96.   <li>
  97.   !href cmd=help&special_parm=reply,$name#_$name $title
  98.   (<span class="tt wims_code_words">$name1</span>) $desc.
  99.  !endif
  100.  </li>
  101. !next j
  102. </ul>
  103. !next i
  104.  
  105. !read help/$lang/embedans.phtml
  106.  
  107. <h3 id="weight">Le paramètre optionnel <span class="tt wims_code_words">weight</span></h3>
  108.  
  109. Il permet d'imposer un poids aux questions posées.
  110. <p>
  111. Exemple :
  112. </p>
  113. <pre>\answer{}{1}{type=numeric}{weight=8}
  114. \answer{}{1}{type=numeric}{weight=2}
  115. </pre>
  116. <p>
  117. Le niveau de sévérité sera aussi pris en compte lors du
  118. calcul fait et le pourcentage sera pris sur un pourcentage fixé
  119. par le niveau de sévérité.
  120. </p><p>
  121. Il est possible de mettre des variables dans <span class="tt wims_code_words">weight</span>
  122. dans la mesure où elles sont définies avant le <span class="tt wims_code_variable">\statement</span>.
  123. </p><p>
  124. Exemple :
  125. </p>
  126. <pre>
  127. \text{w = \t = 1 ? 1 : 2}
  128. \answer{}{1}{type=numeric}{weight=\w}
  129. \answer{}{1}{type=numeric}{weight=3}
  130. </pre>
  131.  
  132. <h3 id="option">Le paramètre optionnel <span class="tt wims_code_words">option</span></h3>
  133.  Dans le cas de plusieurs options, elles sont séparées par des espaces.
  134.  Par exemple, <span class="tt wims_code_words">option=split noanalyzeprint</span>
  135.  
  136. Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">\answer</span>
  137. ou <span class="tt wims_code_variable">\condition</span> sont
  138. <ul>
  139. <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
  140. 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
  141. qui remplace. Un message d'avertissement s'affiche au moment où la réponse est envoyée
  142. que l'on peut supprimer en rajoutant
  143. <span class="tt wims_code_words">nocheck</span> dans les mots d'option.
  144. </li>
  145. <li>
  146. <span class="tt wims_code_words">option=split</span> : Dans le cas d'une réponse dont
  147. 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
  148. tient compte des réponses justes, même si elles ne le sont pas toutes.
  149. </li>
  150. <li>
  151. <span class="tt wims_code_words">option=nonstop</span> : Dans le cas d'un exercice à étapes, les questions
  152. suivantes sont posées même en cas de réponses fausses.
  153. </li>
  154. <li>
  155. <span class="tt wims_code_words">option=noanalyzeprint</span> : Le texte automatique d'analyse de réponses n'est
  156. pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable.
  157. Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique
  158. est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse.
  159. </li><li>
  160. A la suite d'une instruction <span class="tt wims_code_words">condition</span>,
  161. <span class="tt wims_code_words">option=hide</span> : La condition sera utilisée pour l'analyse
  162. de la réponse mais ne sera pas affichée.
  163. </li>
  164. </ul>
  165. D'autres options sont utilisables dans des types particuliers de réponses. Par exemple,
  166. dans les réponses proposant d'écrire dans un champ libre, des symboles peuvent être ajoutés
  167. pour faciliter la rédaction sous la forme
  168. <span class="tt wims_code_words">option=symbols=[liste de symboles]</span>
  169. (pas d'espaces dans les symboles).
  170. Par exemple
  171. <pre>
  172. \answer{}{alpha+2*beta-5}{type=formal}{option=symbols=[alpha beta]}
  173. </pre>
  174.  
  175.  
  176. Pour des précisions sur les autres options,
  177. revenir à la documentation du type de réponse.
  178. !read help/option.phtml
  179. <h2>Les tests de conditions</h2>
  180. <p>
  181. Dans certaines circonstances, il est souhaitable que les réponses libres
  182. soient testées par des conditions spéciales (questions avec plusieurs bonnes
  183. réponses, exercices demandant des exemples, réponses déterminées par des
  184. inégalités, etc). Ceci peut être réalisé de la façon suivante.
  185. </p><p>
  186. Si la bonne réponse à une question libre est une variable non définie
  187. auparavant, la réponse à cette question sera stockée dans cette variable.
  188. Cette variable peut ensuite être utilisée pour implémenter des conditions de
  189. test. Le score de l'exercice est alors calculé selon le nombre de conditions
  190. de test qui sont satisfaites, au lieu du nombre de réponses qui coïncident
  191. avec les bonnes réponses.
  192. </p><p>
  193. Jusqu'à $condlim conditions simultanées peuvent être définies dans
  194. un exercice, sous l'implémentation actuelle. Seules les réponses numériques
  195. peuvent être ainsi testées. La syntaxe est (le dernier champ est optionnel)
  196. </p>
  197. <pre>
  198. \condition{texte d'affichage}{conditions de test}{weight=...}
  199. </pre>
  200. <p>
  201. Voici quelques exemples de conditions de test (<span class="tt wims_code_variable">\rep1</span> et
  202. <span class="tt wims_code_variable">\rep2</span> sont des variables non définies qui apparaissent dans des
  203. définitions de réponses libres, comme décrit ci-dessus.)
  204.  
  205. !href target=wims_mhelp cmd=help&special_parm=if Liste complète des relations
  206. </p>
  207. $table_header
  208. $table_hdtr<th>Condition</th><th>signification</th></tr>
  209. $table_tr<td class="tt wims_code_words">\rep1>=0 and \rep1<=1</td>
  210.    <td>Bon si <span class="tt wims_code_words">rep1</span> est dans l'intervalle [0,1].</td></tr>
  211. $table_tr<td class="tt wims_code_words">\rep1=1 or \rep1=3 or \rep1=5</td>
  212.     <td>Bon si <span class="tt wims_code_words">rep1</span> est 1, 3 ou 5.</td></tr>
  213. $table_tr<td class="tt wims_code_words">(\rep1)*(\rep2)=6 and (\rep1)+(\rep2)=5</td>
  214.     <td>Bon si <span class="tt wims_code_words">rep1</span> et <span class="tt wims_code_words">rep2</span> sont les deux racines
  215.     du polynôme x<sup>2</sup>-5x+6.</td></tr>
  216. $table_tr<td class="tt wims_code_words">sin(\rep1)=0</td>
  217.     <td>Bon si <span class="tt wims_code_words">rep1</span> est un multiple de $m_pi.</td></tr>
  218. $table_end
  219. Voir
  220. !href cmd=help&special_parm=oef aide sur le format oef
  221.  pour la syntaxe de définition des réponses.
  222.