Subversion Repositories wimsdev

Rev

Rev 13419 | Rev 13575 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. !set typelist1=!trim\
  2. default,Auto,automatic determination of some basic types\
  3. raw,Raw text,control of comparison by options\
  4. numeric,Number, with tolerance of precision\
  5. function,Numerical function, function with numerical tests\
  6. equation,Numerical equation,equation with numerical tests\
  7. exp|algexp litexp formal,Mathematical expression, with formal comparison\
  8. text|case nocase,Text, words or sentences\
  9. multiple|checkbox click menu radio mark flashcard multipleclick,Controlable multiple choices,buttons or menus\
  10.  
  11. !set typelist2=!trim\
  12. atext,Approximative text, with identification of singular and plural etc.\
  13. chemformula,Raw formula of a molecule,in chemistry\
  14. chemdraw,Draw a molecule\
  15. chemclick,Select atoms or bonds in a molecule\
  16. chemeq,Chemical equation, with balance analysis\
  17. chset,Set of characters,\
  18. clickfill|clickfill dragfill,Drag-and-drop objets,text and image\
  19. clicktile,Click and color tiles,\
  20. clock,Clock\
  21. complex,Complex number,comparison is done numerically\
  22. compose,Compose, using given components\
  23. coord,Click on image, recognition of coordinates and various regions\
  24. correspond,Correspondence, establish the correspondence between pairs of objects\
  25. crossword,Crosswords\
  26. chessgame,Déplacement de pièces sur un échiquier\
  27. geogebra,Dynamic geometry,use applet GeoGebra\
  28. javacurve,Java draw,\
  29. jmolclick,Click on 3D atoms, use applet Jmol\
  30. jsxgraph,Dynamic geometry,use JSXGraph\
  31. jsxgraphcurve, JSXgraph Draw, permettant des tracés avec des formes prédéfinies ou libres\
  32. keyboard,Text, with keyboard\
  33. matrix,Matrix, mathematical\
  34. numexp,Rational numbers, fractional writing\
  35. puzzle,Make in order an image, as in a puzzle\
  36. range,Number within a given range, anything within the range is accepted\
  37. reorder,Reordering, given list of objects\
  38. set|set fset aset,Finite set,literal, formal or approximative\
  39. sigunits,Sigunits,number with unit and significant digits\
  40. symtext,Symtext,advanced tool of text identification\
  41. units,Number with unit, for physics\
  42. vector,Vector,formal comparison of components\
  43. wlist,List of words,\
  44.  
  45.  
  46. !set namelist=Basic types, Specific or advanced types
  47. !set symtextlist=text atext raw compose
  48.  
  49. <h2>User replies to an exercise</h2>
  50.  
  51. There are two basic ways in which an OEF exercise accepts user replies:
  52. multiple choices and freestyle replies. User answers will be analyzed
  53. according to the nature of the types. It is also possible to show
  54. !href cmd=help&special_parm=feedback feedbacks
  55.  to the user when the answer meeds a specified condition (usually to warn a
  56. typical error).
  57.  
  58. <h3>Multiple choices</h3>
  59. <p>A multiple choice is defined by giving a list of good choices (one or
  60. several) and another list of bad choices.</p>
  61. <p>Up to $choicelim simultaneous multiple choice questions can be asked for
  62. one exercise, under the current implementation. The number of good and bad
  63. choices within one multiple choice question is unlimited (except a limit on
  64. the length of the string imposed by WIMS).</p>
  65. <p>See
  66. !href cmd=help&special_parm=oef help on OEF format
  67.  for the syntax to define a multiple choice.</p>
  68.  
  69. <h3 id="freestyle">Freestyle answers</h3>
  70. <p>A freestyle answer is one which is typed by the user.
  71.   Up to $answerlim simultaneous freestyle answers can be asked for one
  72.   exercise, under the current implementation.</p>
  73.   The syntax is as follows:
  74. <code>
  75. \answer{Text}{\reponse}{type=...}{option=...}{weight=...}
  76. </code>
  77. <p>The last 2 fields are optional.
  78. The length of <span class="tt">Text</span> is limited
  79. to $max_promptlen characters.
  80. </p>
  81. <h3>The parameter <span class="tt wims_code_words">type</span></h3>
  82. <p>
  83. Each freestyle answer can independently take one of the following types.
  84. </p>
  85. !for k=1 to 2
  86.  <h4>$(namelist[$k])</h4>
  87.  !set n=!linecnt $(typelist$k)
  88.  <ul>
  89.  !for j=1 to $n
  90.   !set l=!line $j of $(typelist$k)
  91.   !distribute item $l into name,title
  92.   !set desc=!item 3 to -1 of $l
  93.   !set name=!replace internal | by , in $name
  94.   !set name1=!item 2 to -1 of $name
  95.   !set name=!item 1 of $name
  96.   !default name1=$name
  97.   !if $name isitemof $special_parm or all isitemof $special_parm
  98.    <li id="_$name">
  99.    !read help/anstype/$name.phtml
  100.    !if $name iswordof $symtextlist
  101.     <p><b>Remark</b>.
  102.     This type of reply accepts the symtext option. If the word
  103.     <span class="tt wims_code_words">symtext</span> is declared in the option of the reply, the analysis of
  104.     the reply will be exactly as for
  105.     !href cmd=help&special_parm=reply,symtext#_symtext symtext
  106. , in particular with no preliminary processing of the texts. And all the
  107. symtext options will be understood in this case.
  108.     </p>
  109.    !endif
  110.   !else
  111.    <li>
  112.    !href cmd=help&special_parm=reply,$name#_$name $title
  113.   (<span class="tt wims_code_words">$name1</span>) $desc.
  114.   !endif
  115.   </li>
  116.  !next j
  117.  </ul>
  118. !next i
  119.  
  120. !read help/$lang/embedans.phtml
  121.  
  122. <h3 id="weight">The optional parameter <span class="tt wims_code_words">weight</span></h3>
  123.  
  124. It is possible to give a weight to answers.
  125. <p>
  126. Example :
  127. </p>
  128. <pre>\answer{}{1}{type=numeric}{weight=8}
  129. \answer{}{1}{type=numeric}{weight=2}
  130. </pre>
  131. <p>
  132. Le niveau de sévérité  sera aussi pris en compte lors du
  133. calcul fait et le pourcentage sera pris sur un pourcentage fixé
  134. par le niveau de sévérité.
  135. </p><p>
  136. One can put variables in <span class="tt wims_code_words">weight</span>
  137. if they are defined before <span class="tt wims_code_variable">\statement</span>.
  138.  
  139. <p>Example :</p>
  140. <pre>
  141. \text{w = \t = 1 ? 1 : 2}
  142. \answer{}{1}{type=numeric}{weight=\w}
  143. \answer{}{1}{type=numeric}{weight=3}
  144. </pre>
  145.  
  146. <h3 id="option">Le paramètre optionnel <span class="tt wims_code_words">option</span></h3>
  147.  Dans le cas de plusieurs options, elles sont séparées par des espaces.
  148.  For example, <span class="tt wims_code_words">option=default noanalyzeprint</span>.
  149.  
  150. Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">answer</span>
  151. ou <span class="tt wims_code_variable">condition</span> sont
  152. <ul>
  153.  <li><span class="tt wims_code_words">option=default</span>: The option <span class="tt wims_code_words">default</span> is common for all free answers :
  154.    This option can take
  155.    the form <span class="tt wims_code_words">default="default_value"</span>. If the
  156.    user gives an empty reply, it is the default_value that will take place.
  157.  </li><li>
  158.    <span class="tt wims_code_words">option=split</span>: In case of type <span class="tt wims_code_words">correspond</span>, <span class="tt wims_code_words">checkbox</span> or <span class="tt wims_code_words">mark</span>,
  159.    there will be partial score.
  160.  </li><li>
  161.    <span class="tt wims_code_words">option=nonstop</span> : In case of step exercises,
  162.    following questions are asked even if the answer is false.
  163.  </li>
  164.  <li><span class="tt wims_code_words">option=noanalyzeprint</span>: Le texte automatique d'analyse de réponses n'est
  165.    pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable.
  166.     Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique
  167.     est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse.
  168.  </li><li>
  169.    Following the instruction <span class="tt wims_code_words">condition</span>,
  170.    <span class="tt wims_code_words">option=hide</span>: The condition is used to analyze the
  171.    answer but will not be printed.
  172.  </li>
  173. </ul>
  174. Other options are usable in particular answer types. For precision, return to
  175. the documentation of the answer type.
  176. !read help/option.phtml
  177.  
  178. <h2>Testing conditions</h2>
  179. <p>Under certain circumstances, it is desired that freestyle answers be tested
  180. by special conditions (questions with multiple good answers, exercises
  181. asking for examples, answers determined by inequalities, etc). This can be
  182.  done in the following way.</p> <p>
  183. If the good answer to a freestyle question is an undefined variable, the
  184. answer to this question will be fed into this variable. The latter can then
  185. be used to implement testing conditions. The score given to the exercise is
  186. then determined by the number of testing conditions which are met, rather
  187. than the number of answers which meet the good answers.
  188. </p><p>
  189. Up to $condlim simultaneous conditions can be defined for one
  190. exercise, under the current implementation. The syntax is as follows.
  191. </p><pre>
  192. \condition{prompt text}{testing conditions}{weight=...}
  193. </pre>
  194. (The last field is optional.)
  195. <p>
  196. Here are some examples of testing conditions. (<span class="tt wims_code_variable">ans1</span> and
  197. <span class="tt wims_code_variable">ans2</span> are undefined variables appearing in freestyle answers, as
  198. described above.)
  199. !href target=wims_mhelp cmd=help&special_parm=if Complete list of relations
  200. </p>
  201. $table_header
  202. $table_hdtr<th>Condition</th><th>meaning</th></tr>
  203. $table_tr<td><tt class="wims_code_variable">ans1>=0 and \ans1<=1</tt></td>
  204.    <td>Good if <span class="tt wims_code_words">ans1</span> is within the interval [0,1].</td></tr>
  205. $table_tr<td class="tt wims_code_variable">ans1=1 or \ans1=3 or \ans1=5</td>
  206.    <td>Good if <span class="tt wims_code_words">ans1</span> is 1, 3 or 5.</td></tr>
  207. $table_tr<td class="tt wims_code_words">(\ans1)*(\ans2)=6 and (\ans1)+(\ans2)=5</td>
  208.    <td>Good if <span class="tt wims_code_words">ans1</span> and <span class="tt wims_code_words">ans2</span> are the two
  209.    roots of the polynomial x<sup>2</sup>-5x+6.</td></tr>
  210. $table_tr<td class="tt wims_code_words">sin(\ans1)=0</td>
  211.    <td>Good if <span class="tt wims_code_words">ans1</span> is a multiple of $m_pi.</td></tr>
  212. $table_end
  213. <p>See
  214. !href cmd=help&special_parm=oef help on oef format
  215. for the syntax for defining replies.</p>
  216.