FunctionDecomposition1
From WeBWorK
(Difference between revisions)
(Created page with '<h2>Function Decomposition</h2> <p style="backgroundcolor:#eeeeee;border:black solid 1px;padding:3px;"> This PG code shows how to check student answers that are a composition o…') 

Line 55:  Line 55:  
<p>  <p>  
<b>Initialization:</b>  <b>Initialization:</b>  
+  We need to include the macros file <code>answerComposition.pl</code>, which provides an answer checker that determines if two functions compose to form a given function. This can be used in problems where you ask a student to break a given function into a composition of two simpler functions, neither of which is allowed to be the identity function.  
</p>  </p>  
</td>  </td>  
Line 120:  Line 121:  
<p>  <p>  
<b>Answer Evaluation:</b>  <b>Answer Evaluation:</b>  
+  We use the <code>COMPOSITION_ANS()</code> routine to evaluate both answer blanks. It is possible to use the same variable for both answer blanks. See [http://webwork.maa.org/pod/pg_TRUNK/macros/answerComposition.pl.html answerComposition.pl.html] for more options and details.  
</p>  </p>  
</td>  </td> 
Revision as of 00:40, 1 December 2010
Function Decomposition
This PG code shows how to check student answers that are a composition of functions.
 Download file: File:FunctionDecomposition1.txt (change the file extension from txt to pg)
 File location in NPL:
NationalProblemLibrary/FortLewis/Authoring/Templates/Precalc
PG problem file  Explanation 

Problem tagging: 

DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "answerComposition.pl", "AnswerFormatHelp.pl", ); TEXT(beginproblem()); 
Initialization:
We need to include the macros file 
Context("Numeric"); Context()>variables>are(x=>"Real",y=>"Real",u=>"Real"); $a = random(2,9,1); $f = Formula("sqrt(u)"); $g = Formula("x^2+$a"); 
Setup: 
Context()>texStrings; BEGIN_TEXT Express the function \( y = \sqrt{ x^2 + $a } \) as a composition \( y = f(g(x)) \) of two simpler functions \( y = f(u) \) and \( u = g(x) \). $BR $BR \( f(u) \) = \{ ans_rule(20) \} \{ AnswerFormatHelp("formulas") \} $BR \( g(x) \) = \{ ans_rule(20) \} \{ AnswerFormatHelp("formulas") \} END_TEXT Context()>normalStrings; 
Main Text: 
$showPartialCorrectAnswers = 1; COMPOSITION_ANS( $f, $g, vars=>['u','x'], showVariableHints=>1); 
Answer Evaluation:
We use the 
Context()>texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:${PAR} Solution explanation goes here. END_SOLUTION Context()>normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); 
Solution: 