Difference between revisions of "DisableFunctions1"
Paultpearson (talk | contribs) (PGML example link) |
(add historical tag and give links to newer problems.) |
||
(2 intermediate revisions by the same user 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/Trig/DisableFunctionsTrig.html a newer version of this problem]</p> |
||
+ | |||
+ | |||
<h2>Disabling Functions so Students Must Simplify Answers</h2> |
<h2>Disabling Functions so Students Must Simplify Answers</h2> |
||
Line 5: | Line 10: | ||
This PG code shows how to disable all functions and restrict student answers to fractions. |
This PG code shows how to disable all functions and restrict student answers to fractions. |
||
</p> |
</p> |
||
− | * File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg] |
+ | <!--* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg] --> |
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg] |
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg] |
||
Line 16: | Line 21: | ||
<tr valign="top"> |
<tr valign="top"> |
||
− | <th> PG problem file </th> |
+ | <th style="width: 40%"> PG problem file </th> |
<th> Explanation </th> |
<th> Explanation </th> |
||
</tr> |
</tr> |
||
Line 43: | Line 48: | ||
loadMacros( |
loadMacros( |
||
− | + | 'PGstandard.pl', |
|
− | + | 'MathObjects.pl', |
|
− | + | 'contextFraction.pl', |
|
− | + | 'PGML.pl', |
|
+ | 'PGcourse.pl' |
||
); |
); |
||
− | |||
TEXT(beginproblem()); |
TEXT(beginproblem()); |
||
</pre> |
</pre> |
||
Line 55: | Line 59: | ||
<p> |
<p> |
||
<b>Initialization:</b> |
<b>Initialization:</b> |
||
+ | |||
+ | * The <code>contextFraction.pl</code> is loaded since we used the <code>Fraction-NoDecimals</text> context. |
||
</p> |
</p> |
||
</td> |
</td> |
||
Line 65: | Line 71: | ||
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context( |
+ | Context('Fraction-NoDecimals'); |
# Prevent pi from becoming 3.1415... and cos(pi) from |
# Prevent pi from becoming 3.1415... and cos(pi) from |
||
# becoming -1. |
# becoming -1. |
||
− | Context()->constants->set(pi => {keepName => 1}); |
+ | Context()->constants->set(pi => {keepName => 1}); |
− | $f1 = Formula("cos(pi)"); |
||
+ | # The next context changes are not necessary to |
||
− | $f2 = Formula("sin(pi/3)"); |
||
+ | # prevent cos(pi) from becoming -1, but they cannot hurt. |
||
+ | Context()->flags->set( |
||
+ | reduceConstants=>0, |
||
+ | reduceConstantFunctions=>0 |
||
+ | ); |
||
+ | |||
+ | $f1 = Formula('cos(pi)'); |
||
+ | $f2 = Formula('sin(pi/3)'); |
||
− | Context()->functions->disable( |
+ | Context()->functions->disable('All'); |
− | Context()->functions->enable( |
+ | Context()->functions->enable('sqrt'); |
− | $answer1 = Compute( |
+ | $answer1 = Compute('-1'); |
− | $answer2 = Compute( |
+ | $answer2 = Compute('sqrt(3)/2'); |
</pre> |
</pre> |
||
</td> |
</td> |
||
Line 97: | Line 110: | ||
<td style="background-color:#ffdddd;border:black 1px dashed;"> |
<td style="background-color:#ffdddd;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context()->texStrings; |
||
+ | BEGIN_PGML |
||
− | BEGIN_TEXT |
||
Enter your answers as simplified fractions. |
Enter your answers as simplified fractions. |
||
− | $BR |
||
− | $BR |
||
− | \( $f1 = \) |
||
− | \{ ans_rule(20) \} |
||
− | \{ AnswerFormatHelp("fractions") \} |
||
− | $BR |
||
− | $BR |
||
− | \( $f2 = \) |
||
− | \{ ans_rule(20) \} |
||
− | \{ AnswerFormatHelp("fractions") \} |
||
− | END_TEXT |
||
− | Context()->normalStrings; |
||
− | </pre> |
||
− | <td style="background-color:#ffcccc;padding:7px;"> |
||
− | <p> |
||
− | <b>Main Text:</b> |
||
− | </p> |
||
− | </td> |
||
− | </tr> |
||
− | <!-- Answer evaluation section --> |
||
+ | + [` [$f1] = `] [_____________]{$answer1} |
||
− | <tr valign="top"> |
||
+ | + [` [$f2] = `] [_____________]{$answer2} |
||
− | <td style="background-color:#eeddff;border:black 1px dashed;"> |
||
− | <pre> |
||
− | $showPartialCorrectAnswers = 1; |
||
− | ANS( $answer1->cmp() ); |
||
+ | [@ helpLink('fractions') @]* |
||
− | |||
+ | END_PGML |
||
− | ANS( $answer2->cmp() ); |
||
</pre> |
</pre> |
||
− | <td style="background-color:# |
+ | <td style="background-color:#ffcccc;padding:7px;"> |
<p> |
<p> |
||
− | <b> |
+ | <b>Main Text:</b> |
</p> |
</p> |
||
</td> |
</td> |
||
Line 143: | Line 132: | ||
<td style="background-color:#ddddff;border:black 1px dashed;"> |
<td style="background-color:#ddddff;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context()->texStrings; |
||
+ | BEGIN_PGML_SOLUTION |
||
− | BEGIN_SOLUTION |
||
+ | The cosine of an angle is zero when |
||
− | ${PAR}SOLUTION:${PAR} |
||
+ | the angle is an integer multiple of \( \pi \). |
||
− | Solution explanation goes here. |
||
+ | END_PGML_SOLUTION |
||
− | END_SOLUTION |
||
− | Context()->normalStrings; |
||
− | |||
− | COMMENT('MathObject version.'); |
||
ENDDOCUMENT(); |
ENDDOCUMENT(); |
Latest revision as of 04:59, 18 July 2023
This problem has been replaced with a newer version of this problem
Disabling Functions so Students Must Simplify Answers
This PG code shows how to disable all functions and restrict student answers to fractions.
- PGML location in OPL: FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( 'PGstandard.pl', 'MathObjects.pl', 'contextFraction.pl', 'PGML.pl', 'PGcourse.pl' ); TEXT(beginproblem()); |
Initialization:
|
Context('Fraction-NoDecimals'); # Prevent pi from becoming 3.1415... and cos(pi) from # becoming -1. Context()->constants->set(pi => {keepName => 1}); # The next context changes are not necessary to # prevent cos(pi) from becoming -1, but they cannot hurt. Context()->flags->set( reduceConstants=>0, reduceConstantFunctions=>0 ); $f1 = Formula('cos(pi)'); $f2 = Formula('sin(pi/3)'); Context()->functions->disable('All'); Context()->functions->enable('sqrt'); $answer1 = Compute('-1'); $answer2 = Compute('sqrt(3)/2'); |
Setup:
We choose a context that requires fractions as answers and does not allow decimals. After constructing the formulas involving trig functions, we disable all functions and re-enable the
Note that |
BEGIN_PGML Enter your answers as simplified fractions. + [` [$f1] = `] [_____________]{$answer1} + [` [$f2] = `] [_____________]{$answer2} [@ helpLink('fractions') @]* END_PGML |
Main Text: |
BEGIN_PGML_SOLUTION The cosine of an angle is zero when the angle is an integer multiple of \( \pi \). END_PGML_SOLUTION ENDDOCUMENT(); |
Solution: |