Subversion Repositories wimsdev

Rev

Rev 11194 | Rev 11753 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 11194 Rev 11284
Line 44... Line 44...
44
 
44
 
45
 
45
 
46
!set namelist=Basic types, Specific or advanced types
46
!set namelist=Basic types, Specific or advanced types
47
!set symtextlist=text atext raw compose
47
!set symtextlist=text atext raw compose
48
 
48
 
49
<h3>User replies to an exercise</h3>
49
<h2>User replies to an exercise</h2>
50
 
50
 
51
There are two basic ways in which an OEF exercise accepts user replies:
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
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
53
according to the nature of the types. It is also possible to show
54
!href cmd=help&special_parm=feedback feedbacks
54
!href cmd=help&special_parm=feedback feedbacks
55
 to the user when the answer meeds a specified condition (usually to warn a
55
 to the user when the answer meeds a specified condition (usually to warn a
56
typical error).
56
typical error).
57
 
57
 
58
<h4>Multiple choices</h4>
58
<h3>Multiple choices</h3>
59
A multiple choice is defined by giving a list of good choices (one or
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>
60
several) and another list of bad choices.</p>
61
Up to $choicelim simultaneous multiple choice questions can be asked for
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
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
63
choices within one multiple choice question is unlimited (except a limit on
64
the length of the string imposed by WIMS).
64
the length of the string imposed by WIMS).</p>
65
<p>
-
 
66
See
65
<p>See
67
!href cmd=help&special_parm=oef help on OEF format
66
!href cmd=help&special_parm=oef help on OEF format
68
 for the syntax to define a multiple choice.
67
 for the syntax to define a multiple choice.</p>
69
 
68
 
70
<a id="freestyle"></a>
-
 
71
<h4>Freestyle answers</h4>
69
<h3 id="freestyle">Freestyle answers</h3>
72
A freestyle answer is one which is typed by the user.
70
<p>A freestyle answer is one which is typed by the user.
73
Up to $answerlim simultaneous freestyle answers can be asked for one
71
  Up to $answerlim simultaneous freestyle answers can be asked for one
74
exercise, under the current implementation. <p>
72
  exercise, under the current implementation.</p>
75
The syntax is as follows:
73
  The syntax is as follows:
76
<pre>
74
<pre>
77
\answer{Texte}{\reponse}{type=...}{option=...}{weight=...}
75
\answer{Texte}{\reponse}{type=...}{option=...}{weight=...}
78
</pre>
76
</pre>
79
(The last 3 fields are optional.)
77
(The last 3 fields are optional.)
80
 
78
 
81
<h3>The parameter <span class="tt wims_code_words">type</span></h3>
79
<h3>The parameter <span class="tt wims_code_words">type</span></h3>
82
<p>
80
<p>
83
Each freestyle answer can independently take one of the following types.
81
Each freestyle answer can independently take one of the following types.
84
</p>
82
</p>
85
!for k=1 to 2
83
!for k=1 to 2
86
 <span class="bold">$(namelist[$k])</span>
84
 <h4>$(namelist[$k])</h4>
87
 !set n=!linecnt $(typelist$k)
85
 !set n=!linecnt $(typelist$k)
88
 <ul>
86
 <ul>
89
 !for j=1 to $n
87
 !for j=1 to $n
90
  !set l=!line $j of $(typelist$k)
88
  !set l=!line $j of $(typelist$k)
91
  !distribute item $l into name,title
89
  !distribute item $l into name,title
Line 93... Line 91...
93
  !set name=!replace internal | by , in $name
91
  !set name=!replace internal | by , in $name
94
  !set name1=!item 2 to -1 of $name
92
  !set name1=!item 2 to -1 of $name
95
  !set name=!item 1 of $name
93
  !set name=!item 1 of $name
96
  !default name1=$name
94
  !default name1=$name
97
  !if $name isitemof $special_parm or all isitemof $special_parm
95
  !if $name isitemof $special_parm or all isitemof $special_parm
98
   <li><a id="_$name"></a>
96
   <li id="_$name">
99
   !read help/anstype/$name.phtml
97
   !read help/anstype/$name.phtml
100
   !if $name iswordof $symtextlist
98
   !if $name iswordof $symtextlist
101
    <p>
-
 
102
    <b>Remark</b>.
99
    <p><b>Remark</b>.
103
    This type of reply accepts the symtext option. If the word
100
    This type of reply accepts the symtext option. If the word
104
    <span class="tt wims_code_words">symtext</span> is declared in the option of the reply, the analysis of
101
    <span class="tt wims_code_words">symtext</span> is declared in the option of the reply, the analysis of
105
    the reply will be exactly as for
102
    the reply will be exactly as for
106
    !href cmd=help&special_parm=reply,symtext#_symtext symtext
103
    !href cmd=help&special_parm=reply,symtext#_symtext symtext
107
, in particular with no preliminary processing of the texts. And all the
104
, in particular with no preliminary processing of the texts. And all the
Line 118... Line 115...
118
 </ul>
115
 </ul>
119
!next i
116
!next i
120
 
117
 
121
!read help/$lang/embedans.phtml
118
!read help/$lang/embedans.phtml
122
 
119
 
123
<h3>The optional parameter <span class="tt wims_code_words">weight</span></h3>
120
<h3 id="weight">The optional parameter <span class="tt wims_code_words">weight</span></h3>
124
<a id="weight"></a>
-
 
-
 
121
 
125
It is possible to give a weight to answers.
122
It is possible to give a weight to answers.
126
<p>
123
<p>
127
Example :
124
Example :
128
</p>
125
</p>
129
<pre>\answer{}{1}{type=numeric}{weight=8}
126
<pre>\answer{}{1}{type=numeric}{weight=8}
Line 135... Line 132...
135
par le niveau de sévérité.
132
par le niveau de sévérité.
136
</p><p>
133
</p><p>
137
One can put variables in <span class="tt wims_code_words">weight</span>
134
One can put variables in <span class="tt wims_code_words">weight</span>
138
if they are defined before <span class="tt wims_code_variable">\statement</span>.
135
if they are defined before <span class="tt wims_code_variable">\statement</span>.
139
 
136
 
140
<p>
-
 
141
Example :
137
<p>Example :</p>
142
</p>
-
 
143
<pre>
138
<pre>
144
\text{w = \t = 1 ? 1 : 2}
139
\text{w = \t = 1 ? 1 : 2}
145
\answer{}{1}{type=numeric}{weight=\w}
140
\answer{}{1}{type=numeric}{weight=\w}
146
\answer{}{1}{type=numeric}{weight=3}
141
\answer{}{1}{type=numeric}{weight=3}
147
</pre>
142
</pre>
148
 
143
 
149
<h3>Le paramètre optionnel <span class="tt wims_code_words">option</span></h3>
144
<h3 id="option">Le paramètre optionnel <span class="tt wims_code_words">option</span></h3>
150
 <a id="option"></a>
-
 
151
 Dans le cas de plusieurs options, elles sont séparées par des espaces.
145
 Dans le cas de plusieurs options, elles sont séparées par des espaces.
152
 For example, <span class="tt wims_code_words">option=default noanalyzeprint</span>.
146
 For example, <span class="tt wims_code_words">option=default noanalyzeprint</span>.
153
 
147
 
154
Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">answer</span>
148
Les options possibles à la suite d'une instruction <span class="tt wims_code_variable">answer</span>
155
ou <span class="tt wims_code_variable">condition</span> sont
149
ou <span class="tt wims_code_variable">condition</span> sont
156
<ul>
150
<ul>
157
<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 :
151
  <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 :
158
This option can take
152
    This option can take
159
the form <span class="tt wims_code_words">default="default_value"</span>. If the
153
    the form <span class="tt wims_code_words">default="default_value"</span>. If the
160
user gives an empty reply, it is the default_value that will take place.
154
    user gives an empty reply, it is the default_value that will take place.
161
</li><li>
155
  </li><li>
162
<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>,
156
    <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>,
163
there will be partial score.
157
    there will be partial score.
164
</li><li>
158
  </li><li>
165
<span class="tt wims_code_words">option=nonstop</span> : In case of step exercises,
159
    <span class="tt wims_code_words">option=nonstop</span> : In case of step exercises,
166
following questions are asked even if the answer is false.
160
    following questions are asked even if the answer is false.
167
</li>
161
  </li>
168
<li><span class="tt wims_code_words">option=noanalyzeprint</span>: Le texte automatique d'analyse de réponses n'est
162
  <li><span class="tt wims_code_words">option=noanalyzeprint</span>: Le texte automatique d'analyse de réponses n'est
169
pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable.
163
    pas affiché. C'est donc à l'auteur de l'exercice de fournir un feedback convenable.
170
Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique
164
    Cela est utile dans certains types comme le type <span class="tt wims_code_words">mark</span> où le texte automatique
171
est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse.
165
    est souvent inadéquat. Le score subsiste ainsi que l'indication sur la justesse de la réponse.
172
</li><li>
166
  </li><li>
173
Following the instruction <span class="tt wims_code_words">condition</span>,
167
    Following the instruction <span class="tt wims_code_words">condition</span>,
174
<span class="tt wims_code_words">option=hide</span>: The condition is used to analyze the
168
    <span class="tt wims_code_words">option=hide</span>: The condition is used to analyze the
175
answer but will not be printed.
169
    answer but will not be printed.
176
</li>
170
  </li>
177
</ul>
171
</ul>
178
Other options are usable in particular answer types. For precision, return to
172
Other options are usable in particular answer types. For precision, return to
179
 the documentation of the answer type.
173
 the documentation of the answer type.
180
!read help/option.phtml
174
!read help/option.phtml
181
 
175
 
182
<h3>Testing conditions</h3>
176
<h2>Testing conditions</h2>
183
<p>
-
 
184
Under certain circumstances, it is desired that freestyle answers be tested
177
<p>Under certain circumstances, it is desired that freestyle answers be tested
185
by special conditions (questions with multiple good answers, exercises
178
by special conditions (questions with multiple good answers, exercises
186
asking for examples, answers determined by inequalities, etc). This can be
179
asking for examples, answers determined by inequalities, etc). This can be
187
done in the following way. <p>
180
  done in the following way.</p> <p>
188
If the good answer to a freestyle question is an undefined variable, the
181
If the good answer to a freestyle question is an undefined variable, the
189
answer to this question will be fed into this variable. The latter can then
182
answer to this question will be fed into this variable. The latter can then
190
be used to implement testing conditions. The score given to the exercise is
183
be used to implement testing conditions. The score given to the exercise is
191
then determined by the number of testing conditions which are met, rather
184
then determined by the number of testing conditions which are met, rather
192
than the number of answers which meet the good answers.
185
than the number of answers which meet the good answers.
Line 199... Line 192...
199
(The last field is optional.)
192
(The last field is optional.)
200
<p>
193
<p>
201
Here are some examples of testing conditions. (<span class="tt wims_code_variable">ans1</span> and
194
Here are some examples of testing conditions. (<span class="tt wims_code_variable">ans1</span> and
202
<span class="tt wims_code_variable">ans2</span> are undefined variables appearing in freestyle answers, as
195
<span class="tt wims_code_variable">ans2</span> are undefined variables appearing in freestyle answers, as
203
described above.)
196
described above.)
204
 
-
 
205
!href target=wims_mhelp cmd=help&special_parm=if Complete list of relations
197
!href target=wims_mhelp cmd=help&special_parm=if Complete list of relations
-
 
198
</p>
206
 
199
 
207
</p>
-
 
208
$table_header
200
$table_header
209
$table_hdtr<th>Condition</th><th>meaning</th></tr>
201
$table_hdtr<th>Condition</th><th>meaning</th></tr>
210
$table_tr<td><tt class="wims_code_variable">ans1>=0 and \ans1<=1</tt></td>
202
$table_tr<td><tt class="wims_code_variable">ans1>=0 and \ans1<=1</tt></td>
211
    <td>Good if <span class="tt wims_code_words">ans1</span> is within the interval [0,1].</td></tr>
203
    <td>Good if <span class="tt wims_code_words">ans1</span> is within the interval [0,1].</td></tr>
212
$table_tr<td class="tt wims_code_variable">ans1=1 or \ans1=3 or \ans1=5</td>
204
$table_tr<td class="tt wims_code_variable">ans1=1 or \ans1=3 or \ans1=5</td>
Line 215... Line 207...
215
    <td>Good if <span class="tt wims_code_words">ans1</span> and <span class="tt wims_code_words">ans2</span> are the two
207
    <td>Good if <span class="tt wims_code_words">ans1</span> and <span class="tt wims_code_words">ans2</span> are the two
216
    roots of the polynomial x<sup>2</sup>-5x+6.</td></tr>
208
    roots of the polynomial x<sup>2</sup>-5x+6.</td></tr>
217
$table_tr<td class="tt wims_code_words">sin(\ans1)=0</td>
209
$table_tr<td class="tt wims_code_words">sin(\ans1)=0</td>
218
    <td>Good if <span class="tt wims_code_words">ans1</span> is a multiple of $m_pi.</td></tr>
210
    <td>Good if <span class="tt wims_code_words">ans1</span> is a multiple of $m_pi.</td></tr>
219
$table_end
211
$table_end
220
See
212
<p>See
221
!href cmd=help&special_parm=oef help on oef format
213
!href cmd=help&special_parm=oef help on oef format
222
 for the syntax for defining replies.
214
 for the syntax for defining replies.</p>
223
 
215