DisableFunctions1: Difference between revisions
(Created page with '<h2>Disabling Functions so Students Must Simplify Answers</h2> <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> This PG code shows how to disable all fun…') |
(add historical tag and give links to newer problems.) |
||
(14 intermediate revisions by 4 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/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> | ||
<p style="background-color:# | [[File:DisableFunctions1.png|300px|thumb|right|Click to enlarge]] | ||
<p style="background-color:#f9f9f9;border:black solid 1px;padding:3px;"> | |||
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] --> | |||
* 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] | |||
<br clear="all" /> | |||
<p style="text-align:center;"> | <p style="text-align:center;"> | ||
[[SubjectAreaTemplates|Templates by Subject Area]] | [[SubjectAreaTemplates|Templates by Subject Area]] | ||
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 60: | ||
<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 72: | ||
<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 | |||
# 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'); | |||
</pre> | </pre> | ||
</td> | </td> | ||
Line 75: | Line 98: | ||
<p> | <p> | ||
<b>Setup:</b> | <b>Setup:</b> | ||
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 <code>sqrt()</code> function. This means that students are allowed to type in fractions and square roots, but not much else (e.g., they'll get an error message if they type in a trig function). | |||
</p> | |||
<p> | |||
Note that <code>$f1</code> and <code>$f2</code> are MathObject Formulas, which do not get reduced since <code>pi</code> is set to keep its name. If <code>$f1</code> and <code>$f2</code> used Compute instead, then the results would be <code>-1</code> and <code>0.866...</code> instead of <code>cos(\pi)</code> and <code>sin(\pi/3)</code> as desired. | |||
</p> | </p> | ||
</td> | </td> | ||
Line 84: | Line 111: | ||
<td style="background-color:#ffdddd;border:black 1px dashed;"> | <td style="background-color:#ffdddd;border:black 1px dashed;"> | ||
<pre> | <pre> | ||
BEGIN_PGML | |||
Enter your answers as simplified fractions. | Enter your answers as simplified fractions. | ||
+ [` [$f1] = `] [_____________]{$answer1} | |||
$ | |||
+ [` [$f2] = `] [_____________]{$answer2} | |||
[@ helpLink('fractions') @]* | |||
END_PGML | |||
</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 130: | Line 133: | ||
<td style="background-color:#ddddff;border:black 1px dashed;"> | <td style="background-color:#ddddff;border:black 1px dashed;"> | ||
<pre> | <pre> | ||
BEGIN_PGML_SOLUTION | |||
The cosine of an angle is zero when | |||
the angle is an integer multiple of \( \pi \). | |||
END_PGML_SOLUTION | |||
ENDDOCUMENT(); | ENDDOCUMENT(); | ||
Line 155: | Line 154: | ||
[[Category:Top]] | [[Category:Top]] | ||
[[Category: | [[Category:Sample Problems]] | ||
[[Category:Subject Area Templates]] |
Latest revision as of 09: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: |