LimitsOfIntegration1

From WeBWorK_wiki
Revision as of 10:03, 24 March 2022 by Tani (talk | contribs)
Jump to navigation Jump to search

Answer Blanks in the Limits of Integration

Click to enlarge

This PG code shows how to put answer blanks into the limits of integration.


Templates by Subject Area

The approach given on this page has certain disadvantages in terms of the "reading order" of the content for screen reader users due to the manner in which visual formatting using tables is achieved.
Another, CSS based approach can be found in [1] and allows keeping a more natural "reading" order to the content.

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

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

TEXT(beginproblem());

Initialization: We must use PGunion.pl for table formatting commands we will use to put the answer blanks in the limits of integration. We use answerHints.pl to help guide students toward the correct answer.

Context("Numeric");
Context()->variables->are(
x=>"Real", dx=>"Real",
t=>"Real", dt=>"Real"
);

$fpx = Formula("sin(x)"); 
$fpt = Formula("sin(t)");   

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

Setup: The block of code that puts the answer blanks into the exponents correctly in HTML and TeX modes probably does not need to be modified.

Context()->texStrings;
BEGIN_TEXT
Find a formula for the function \(f(x)\) such that 
\( \displaystyle f'(x)= $fpx \) and \( f(2)=5 \).
$BR
$BR
$integral
END_TEXT
Context()->normalStrings;

Main Text: To display the integral with answer blanks in the limits of integration properly, we insert it using $integral.

$showPartialCorrectAnswers = 1;

ANS( Compute("5")->cmp() );
ANS( Compute("x")->cmp() );
ANS( Compute("2")->cmp() );
ANS( Compute("$fpt * dt")->cmp()
->withPostFilter(AnswerHints( 
  Formula("$fpx") => "Are you using the correct variable?",
  Formula("$fpx*dx") => "Are you using the correct variable?",
  Formula("$fpt") => "Don't forget the differential dt", 
))
);

Answer Evaluation: We use AnswerHints to guide the students to the correct answer.

Context()->texStrings;
BEGIN_SOLUTION
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;


COMMENT('MathObject version');

ENDDOCUMENT();

Solution:

Templates by Subject Area