Difference between revisions of "FormulasToConstants"
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{historical}} |
||
+ | |||
+ | <p style="font-size: 120%;font-weight:bold">This problem has been replaced with [https://openwebwork.github.io/pg-docs/sample-problems/problem-techniques/FormulasToConstants.html a newer version of this problem]</p> |
||
<h2>Formulas Up To Additive Constants: PG Code Snippet</h2> |
<h2>Formulas Up To Additive Constants: PG Code Snippet</h2> |
||
Line 51: | Line 54: | ||
<pre> |
<pre> |
||
BEGIN_TEXT |
BEGIN_TEXT |
||
− | An antiderivative of \(cos(x)\) is |
+ | An antiderivative of \(\cos(x)\) is |
\{ ans_rule(15) \} |
\{ ans_rule(15) \} |
||
$BR |
$BR |
||
Line 83: | Line 86: | ||
<ul> |
<ul> |
||
− | <li>POD documentation: [http://webwork.maa.org/ |
+ | <li>POD documentation: [http://webwork.maa.org/pod/pg/macros/parserFormulaUpToConstant.html parserFormulaUpToConstant.pl]</li> |
− | <li>PG macro: [http:// |
+ | <li>PG macro: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/parserFormulaUpToConstant.pl?view=log parserFormulaUpToConstant.pl]</li> |
</ul> |
</ul> |
||
Latest revision as of 15:55, 20 June 2023
This problem has been replaced with a newer version of this problem
Formulas Up To Additive Constants: PG Code Snippet
This code snippet shows the essential PG code to evaluate antderivative and general antiderivative formulas. 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.
There are two types of comparison that we're interested in here: one is "an antiderivative of f(x)", and the other is "the most general antiderivative of f(x)". The former requires that the student answers F(x), F(x)+1, F(x)-sqrt(8), etc., all be marked correct, and the latter, that F(x)+C, F(x)+5-k, etc., all be marked correct. These are both illustrated below.
It is possible to do some of this type of comparison with old-style answer checkers. This is shown in a table below.
PG problem file | Explanation |
---|---|
loadMacros("parserFormulaUpToConstant.pl"); |
To check the most general antiderivative of a function, that is, a formula up to an arbitrary additive constant, we need to load the |
$func = Formula("sin(x)"); $gfunc = FormulaUpToConstant("sin(x)+C"); |
In the problem set-up section of the problem file, we define an antiderivative function, |
BEGIN_TEXT An antiderivative of \(\cos(x)\) is \{ ans_rule(15) \} $BR The most general antiderivative is \{ ans_rule(15) \} END_TEXT |
In the text section of the file we ask for the answers as usual. |
ANS( $func->cmp(upToConstant=>1) ); ANS( $gfunc->cmp() ); |
And then in the answer and solution section of the file we rely on the MathObjects |
- POD documentation: parserFormulaUpToConstant.pl
- PG macro: parserFormulaUpToConstant.pl
With old-style answer checkers we can check antiderivatives, but checking the most general antiderivative is much less elegant, as we have to require that the student use a specific constant of integration.
PG problem file | Explanation |
---|---|
$func = "sin(x)"; $gfunc = "sin(x)+C"; |
In this case we need no additional macros, and so do not change the description and tagging or initialization sections of the file. In the problem set-up section we specify the function(s) to evaluate. |
BEGIN_TEXT An antiderivative of \(cos(x)\) is \{ ans_rule(15) \} $BR The most general antiderivative is \{ ans_rule(15) \} $BR ${BITALIC}(Use "C" for any arbitrary constant of integration in your answer.)$EITALIC END_TEXT |
In the text section of the problem we ask for the functions. Because we require that the most general antiderivative use the constant |
ANS( fun_cmp( $func, mode=>"antider" ) ); ANS( fun_cmp( $gfunc, mode=>"antider", var=>["x","C"] ) ); |
When checking the answer in the answer and solutions section of the file, we specify |