ExpandedPolynomial1
Line 83:  Line 83:  
<p>  <p>  
<b>Setup:</b>  <b>Setup:</b>  
+  The macro <code>contextLimitedPolynomial.pl</code> provides two contexts:  
+  <pre>  
+  Context("LimitedPolynomial");  
+  Context("LimitedPolynomialStrict");  
+  </pre>  
+  The strict version does not allow any mathematical operations within coefficients, so <code>(5+3)x</code> must be simplified to <code>8x</code>.  
+  For more details, see [http://webwork.maa.org/pod/pg_TRUNK/macros/contextLimitedPolynomial.pl.html contextLimitedPolynomial.pl.html]  
+  </p>  
+  <p>  
We use the <code>LimitedPolynomialStrict</code> context, construct the coefficients <code>$b</code> and <code>$c</code> as Perl reals, and then construct <code>$expandedform</code> using these precomputed coefficients. This is because the LimitedPolynomialStrict context balks at answers that are not already simplified completely. Notice that we called the <code>>reduce()</code> method on the expanded form of the polynomial, which will ensure that the polynomial will be displayed as <code>x^2  6x + 4</code> instead of <code>x^2 + 6x + 4</code>.  We use the <code>LimitedPolynomialStrict</code> context, construct the coefficients <code>$b</code> and <code>$c</code> as Perl reals, and then construct <code>$expandedform</code> using these precomputed coefficients. This is because the LimitedPolynomialStrict context balks at answers that are not already simplified completely. Notice that we called the <code>>reduce()</code> method on the expanded form of the polynomial, which will ensure that the polynomial will be displayed as <code>x^2  6x + 4</code> instead of <code>x^2 + 6x + 4</code>.  
</p>  </p> 
Revision as of 12:49, 1 December 2010
Polynomial Multiplication (Expanding)
This PG code shows how to require students to expand polynomial multiplication.
 Download file: File:ExpandedPolynomial1.txt (change the file extension from txt to pg when you save it)
 File location in NPL:
NationalProblemLibrary/FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1.pg
PG problem file  Explanation 

Problem tagging: 

DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "contextLimitedPolynomial.pl", ); TEXT(beginproblem()); 
Initialization: 
# # Vertex form # Context("Numeric"); $h = 3; $k = 5; $vertexform = Compute("(x$h)^2$k"); # # Expanded form # Context("LimitedPolynomialStrict"); $b = 2 * $h; $c = $h**2  $k; $expandedform = Formula("x^2 + $b x + $c")>reduce(); 
Setup:
The macro Context("LimitedPolynomial"); Context("LimitedPolynomialStrict"); The strict version does not allow any mathematical operations within coefficients, so
We use the 
Context()>texStrings; BEGIN_TEXT The quadratic expression \( $vertexform \) is written in vertex form. Write the expression in expanded form \( ax^2 + bx + c \). $BR $BR \{ ans_rule(30) \} END_TEXT Context()>normalStrings; 
Main Text:
To help students understand how to format their answers, we give an example 
$showPartialCorrectAnswers = 1; ANS( $expandedform>cmp() ); 
Answer Evaluation: Everything is as expected. 
Context()>texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:${PAR} Solution explanation goes here. END_SOLUTION Context()>normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); 
Solution: 