Volume3

From WeBWorK_wiki
Revision as of 16:41, 3 January 2012 by Paultpearson (talk | contribs)
Jump to navigation Jump to search

A Question That Provides Credit Only When All Answers Are Correct

Click to enlarge

This PG code shows how to ask students to set up a volume of solids of revolution integral in which all parts must be correct for the student to receive any credit.

  • Download file: File:Volume3.txt (change the file extension from txt to pg when you save it)
  • File location in NPL: FortLewis/Authoring/Templates/IntegralCalc/Volume3.pg


Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"PGunion.pl",
"answerHints.pl",
);

TEXT(beginproblem());

install_problem_grader(~~&std_problem_grader);

$showPartialCorrectAnswers = 1;

Initialization: We install the standard problem grader, which is an all-or-nothing grader.

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"); 


#
#  Display the answer blanks properly in different modes
#
Context()->texStrings;
if ($displayMode eq 'TeX') {
   $integral =
   'Volume = \(\displaystyle' . 
     '\int_{'. 
     ans_rule(4). '}^{'. 
     ans_rule(4). '}'. 
     ans_rule(30). ' = '.
     ans_rule(10). 
   '\)';
  } else {
   $integral =
   BeginTable(center=>0).
     Row([
       'Volume = \(\displaystyle\int\)',
       ans_rule(4).$BR.$BR.
       ans_rule(4),
       ans_rule(30).$SPACE.' = '.$SPACE.
       ans_rule(10),
     ],separation=>2).
   EndTable();
}
Context()->normalStrings;

Setup: Notice that we use ans_rule(width) for all of the answer blanks.

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
Context()->normalStrings;

Main Text: The standard problem grader automatically provides a message to students that says the grading will be all or nothing.

ANS( $upper->cmp() );
ANS( $lower->cmp() );
ANS( $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?",
))
);
ANS( $vol->cmp() );

Answer Evaluation:

Context()->texStrings;
BEGIN_SOLUTION
${PAR}SOLUTION:${PAR}
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;


COMMENT('MathObject version.  Gives full credit only 
if all answers are correct.');

ENDDOCUMENT();

Solution:

Templates by Subject Area