ConstantsInProblems: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
Context("Numeric"); | Context("Numeric"); | ||
Context()->constants->add(k=>0.01); | Context()->constants->add(k=>0.01); | ||
# this means that student answers are | |||
# not reduced to the numerical value | |||
# specified in the Context | |||
Context()->flags->set( | |||
formatStudentAnswer=>'parsed' | |||
); | |||
</pre> | </pre> | ||
</td> | </td> | ||
Line 26: | Line 33: | ||
<p> | <p> | ||
In this case we specified <code>constants->add()</code>, so that the constant k is added to existing constants in the problem. If we had used <code>constants->are()</code>, we would also remove all predefined constants from the Context (in a manner similar to the use of <code>variables->add()</code> and <code>variables->are()</code> when [[VariablesOtherThanX|defining variables]] in a problem. | In this case we specified <code>constants->add()</code>, so that the constant k is added to existing constants in the problem. If we had used <code>constants->are()</code>, we would also remove all predefined constants from the Context (in a manner similar to the use of <code>variables->add()</code> and <code>variables->are()</code> when [[VariablesOtherThanX|defining variables]] in a problem. | ||
</p> | |||
<p> | |||
One other tweak that we might want to put in here is to reset a | |||
[[Context_flags|Context flag]] so that students' answers are not reduced to numerical | |||
values when they are previewed or submitted. This is done by setting the <code>formatStudentAnswer</code> flag, as shown. | |||
</p> | </p> | ||
</td> | </td> |
Revision as of 20:59, 20 November 2008
Named Constants in Problems: PG Code Snippet
This code snippet shows the essential PG code to include named constants in a WeBWorK problem. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
PG problem file | Explanation |
---|---|
Context("Numeric"); Context()->constants->add(k=>0.01); # this means that student answers are # not reduced to the numerical value # specified in the Context Context()->flags->set( formatStudentAnswer=>'parsed' ); |
No changes are needed in the tagging and description or initialization sections of the problem file. In the problem set-up section, we add to the Context the constants we're going to use. Here we define a constant k, and assign it a value that will be used when expressions involving k are evaluated.
In this case we specified
One other tweak that we might want to put in here is to reset a
Context flag so that students' answers are not reduced to numerical
values when they are previewed or submitted. This is done by setting the |
BEGIN_TEXT \(f(x) = x-k\) (where \(k>0\) is constant) is zero when $BR \(x = \)\{ ans_rule(15) \} END_TEXT |
In the text section of the problem we then ask a question involving the constant. |
ANS( Compute("k")->cmp() ); |
And in the answer and solution section of the file we can refer to the constant in the solution to the problem. |