Difference between revisions of "Volume1"
Paultpearson (talk | contribs) (PGML example link) |
(add historical tag and give links to newer problems.) |
||
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/IntegralCalc/VolumeOfRevolution.html a newer version of this problem]</p> |
||
+ | |||
+ | |||
<h2>A Question with Weighted Answer Blanks</h2> |
<h2>A Question with Weighted Answer Blanks</h2> |
||
Latest revision as of 05:16, 18 July 2023
This problem has been replaced with a newer version of this problem
A Question with Weighted Answer Blanks
This PG code shows how to ask students to set up and evaluate an integral for calculating the volume of a solid of revolution. Each answer blank is weighted.
- File location in OPL: FortLewis/Authoring/Templates/IntegralCalc/Volume1.pg
- PGML location in OPL: FortLewis/Authoring/Templates/IntegralCalc/Volume1_PGML.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGunion.pl", "answerHints.pl", "weightedGrader.pl", ); TEXT(beginproblem()); install_weighted_grader(); $showPartialCorrectAnswers = 1; |
Initialization:
We load |
Context("Numeric"); Context()->variables->are( x=>"Real", dx=>"Real", y=>"Real", dy=>"Real" ); $f = Compute("x"); $g = Compute("x^2"); $upper = Real("1"); $lower = Real("0"); # answers below are intentionally wrong $int = Compute("( pi x - pi x^2 ) dx"); $vol = Compute("pi"); @weights = (5,5,40,50); # # Display the answer blanks properly in different modes # Context()->texStrings; if ($displayMode eq 'TeX') { $integral = 'Volume = \(\displaystyle' . '\int_{'. NAMED_ANS_RULE("lowerlimit",4). '}^{'. NAMED_ANS_RULE("upperlimit",4). '}'. NAMED_ANS_RULE("integrand",30). ' = '. NAMED_ANS_RULE("volume",10). '\)'; } else { $integral = BeginTable(center=>0). Row([ 'Volume = \(\displaystyle\int\)', NAMED_ANS_RULE("upperlimit",4).$BR.$BR. NAMED_ANS_RULE("lowerlimit",4), NAMED_ANS_RULE("integrand",30).$SPACE.' = '.$SPACE. NAMED_ANS_RULE("volume",10), ],separation=>2). EndTable(); } Context()->normalStrings; |
Setup: To keep the code that needs to be modified compartmentalized, we define the functions involved, the limits of integration, the integrand, the volume, and an array of weights (which sum to 100) for each of these answers.
The code for correctly displaying the answer blanks creates |
Context()->texStrings; BEGIN_TEXT Set up and evaluate an integral for the volume of the solid of revolution obtained by rotating the region bounded by \( y = $f \) and \( y = $g \) about the \(x\)-axis. $BR $BR $integral END_TEXT TEXT(MODES(TeX=>"",HTML=> "${PAR}${BITALIC}${BBOLD}Note:${EBOLD} You can earn $weights[0]${PERCENT} for the upper limit of integration, $weights[1]${PERCENT} for the lower limit of integration, $weights[2]${PERCENT} for the integrand, and $weights[3]${PERCENT} for the finding the volume. ${EITALIC}")); Context()->normalStrings; |
Main Text:
We use the mode-specific |
NAMED_WEIGHTED_ANS( "upperlimit" => $upper->cmp(), $weights[0] ); NAMED_WEIGHTED_ANS( "lowerlimit" => $lower->cmp(), $weights[1] ); NAMED_WEIGHTED_ANS( "integrand" => $int->cmp() ->withPostFilter(AnswerHints( Formula("pi x - pi x^2 dx") => "Don't forget to multiply every term in the integrand by dx", Formula("pi x - pi x^2") => "Don't forget the differential dx", Formula("(pi x^2 - pi x)*dx") => "Is the parabola above the line?", Formula("pi x^2 - pi x") => "Is the parabola above the line?", )), $weights[2] ); NAMED_WEIGHTED_ANS( "volume" => $vol->cmp(), $weights[3] ); |
Answer Evaluation:
The answer evaluator we use is |
Context()->texStrings; BEGIN_SOLUTION Solution explanation goes here. END_SOLUTION Context()->normalStrings; COMMENT('MathObject version. Weights each answer blank separately.'); ENDDOCUMENT(); |
Solution: We include a comment to the instructor to let them know how the question is being graded. |