Subversion Repositories wimsdev

Rev

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