Difference between revisions of "AnswerWithUnits1"

From WeBWorK_wiki
Jump to navigation Jump to search
m
Line 5: Line 5:
 
This PG code shows how to require students to enter units with their answers.
 
This PG code shows how to require students to enter units with their answers.
 
</p>
 
</p>
* Download file: [[File:AnswerWithUnits1.txt]] (change the file extension from txt to pg when you save it)
 
  +
* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/DiffCalc/AnswerWithUnits1.pg FortLewis/Authoring/Templates/DiffCalc/AnswerWithUnits.pg]
* File location in NPL: <code>FortLewis/Authoring/Templates/DiffCalc/AnswerWithUnits.pg</code>
 
   
 
<br clear="all" />
 
<br clear="all" />
Line 154: Line 153:
 
Context()->texStrings;
 
Context()->texStrings;
 
BEGIN_SOLUTION
 
BEGIN_SOLUTION
${PAR}SOLUTION:${PAR}
 
 
Solution explanation goes here.
 
Solution explanation goes here.
 
END_SOLUTION
 
END_SOLUTION

Revision as of 15:48, 16 June 2013

Answer is a Number or Formula with Units

Click to enlarge

This PG code shows how to require students to enter units with their answers.


Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT(); 

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"parserNumberWithUnits.pl",
"parserFormulaWithUnits.pl",
);

TEXT(beginproblem());

Initialization: We load parserNumberWithUnits.pl and parserFormulaWithUnits.pl.

Context("Numeric")->variables->are(t=>"Real");

$h = Formula("-16 t^2 + 16");
$v = $h->D('t');
$v1 = $v->eval(t=>1);
$a = $v->D('t');

$answer[0] = FormulaWithUnits("$v","ft/s");
$answer[1] = NumberWithUnits("$v1","ft/s");
$answer[2] = FormulaWithUnits("$a","ft/s^2");

Setup: We use the differentiation operator ->D('t') and the evaluation method ->eval() to construct the derivative and evaluate it as a function. If we were writing several questions like this with different height functions, using the differentiation and evaluation methods would really speed up the writing.

Context()->texStrings;
BEGIN_TEXT
Suppose the height of a falling object, in feet
above the ground, is given by \( h(t) = $h \) 
for \( t \geq 0 \), where time is measured in 
seconds.
$BR
$BR
(a) What is the velocity of the object?  Include
units in your answer.
$BR
\{ ans_rule(20) \}
\{ helpLink("units") \}
$BR
$BR
(b) What is the velocity of the object when it
hits the ground?  Include units in your answer. 
$BR
\{ ans_rule(20) \}
\{ helpLink("units") \}
$BR
$BR
(c) What is the acceleration of the object?  
Include units in your answer. 
$BR
\{ ans_rule(20) \}
\{ helpLink("units") \}
END_TEXT
Context()->normalStrings;

Main Text: Don't forget to use helpLink("units") so your students will have access to the complete list of units that WeBWorK understands.

$showPartialCorrectAnswers = 1;

foreach my $i (0..2) {
  ANS( $answer[$i]->cmp() );
}

Answer Evaluation:

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

COMMENT('MathObject version.');

ENDDOCUMENT();

Solution:

Templates by Subject Area