Difference between revisions of "DisableFunctions1"
Paultpearson (talk | contribs) (PGML example link) |
|||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<h2>Disabling Functions so Students Must Simplify Answers</h2> |
<h2>Disabling Functions so Students Must Simplify Answers</h2> |
||
− | <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> |
||
+ | [[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. |
||
− | <ul> |
||
− | <li>Download file: [[File:DisableFunctions1.txt]] (change the file extension from txt to pg when you save it)</li> |
||
− | <li>File location in NPL: <code>NationalProblemLibrary/FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg</code></li> |
||
− | </ul> |
||
</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 65: | Line 65: | ||
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context(" |
+ | Context("Fraction-NoDecimals"); |
− | $f1 = Compute("cos(pi)"); |
||
+ | # Prevent pi from becoming 3.1415... and cos(pi) from |
||
− | $f2 = Compute("sin(pi/3)"); |
||
+ | # becoming -1. |
||
+ | Context()->constants->set(pi => {keepName => 1}); |
||
− | Context("Fraction-NoDecimals"); |
||
+ | $f1 = Formula("cos(pi)"); |
||
+ | $f2 = Formula("sin(pi/3)"); |
||
Context()->functions->disable("All"); |
Context()->functions->disable("All"); |
||
Line 82: | Line 84: | ||
<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 162: | Line 168: | ||
[[Category:Top]] |
[[Category:Top]] |
||
− | [[Category: |
+ | [[Category:Sample Problems]] |
+ | [[Category:Subject Area Templates]] |
Revision as of 12:34, 13 June 2015
Disabling Functions so Students Must Simplify Answers
This PG code shows how to disable all functions and restrict student answers to fractions.
- File location in OPL: FortLewis/Authoring/Templates/Trig/DisableFunctions1.pg
- PGML location in OPL: FortLewis/Authoring/Templates/Trig/DisableFunctions1_PGML.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "AnswerFormatHelp.pl", "contextFraction.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}); $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 |
Context()->texStrings; BEGIN_TEXT 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; |
Main Text: |
$showPartialCorrectAnswers = 1; ANS( $answer1->cmp() ); ANS( $answer2->cmp() ); |
Answer Evaluation: |
Context()->texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:${PAR} Solution explanation goes here. END_SOLUTION Context()->normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); |
Solution: |