ExpandedPolynomial1: Difference between revisions

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with '<h2>Polynomial Multiplication (Expanding)</h2> <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> This PG code shows how to require students to expand poly…')
 
No edit summary
Line 45: Line 45:
"MathObjects.pl",
"MathObjects.pl",
"contextLimitedPolynomial.pl",
"contextLimitedPolynomial.pl",
"contextPolynomialFactors.pl",
"contextLimitedPowers.pl",
);
);


Line 55: Line 53:
<p>
<p>
<b>Initialization:</b>
<b>Initialization:</b>
We need all of these macros.
</p>
</p>
</td>
</td>
Line 69: Line 66:
#
#
Context("Numeric");
Context("Numeric");
$n = list_random(4,6);
$h = 3;
$a = random(2,4,1);
$k = 5;
$b = ($a+$n);
$h = ($b-$a)/2;
$k = $h**2+$a*$b;
$vertexform = Compute("(x-$h)^2-$k");
$vertexform = Compute("(x-$h)^2-$k");


Line 80: Line 74:
#
#
Context("LimitedPolynomial-Strict");
Context("LimitedPolynomial-Strict");
$p[0] = $h**2 - $k;
$b = -2 * $h;
$p[1] = 2*$h;
$c = $h**2 - $k;
$expandedform = Formula("x^2 - $p[1] x + $p[0]")->reduce;
$expandedform = Formula("x^2 + $b x + $c")->reduce();
 
#
#  Factored form
#
Context("PolynomialFactors-Strict");
Context()->flags->set(singleFactors=>0);
LimitedPowers::OnlyIntegers(
minPower => 0, maxPower => 1,
message => "either 0 or 1",
);
$factoredform = Compute("(x+$a)(x-$b)");
</pre>
</pre>
</td>
</td>
Line 99: Line 82:
<p>
<p>
<b>Setup:</b>  
<b>Setup:</b>  
To construct this quadratic, we choose a nice factored form <code>(x+$a)(x-$b)</code> and from it we construct its vertex form (a(x-h)^2+k) and expanded form (ax^2+bx+c).
We use the <code>LimitedPolynomial-Strict</code> context, construct the coefficients <code>$b</code> and <code>$c</code> as Perl reals, and then construct <code>$expandedform</code> using these pre-computed coefficients.  This is because the LimitedPolynomial-Strict context balks at answers that are not already simplified completely.
</p>
<p>
For the expanded form we use the <code>LimitedPolynomial-Strict</code> context, construct the coefficients <code>$p[0]</code> and <code>$p[1]</code> as Perl reals, and then construct <code>$expandedform</code> using these pre-computed coefficients.  This is because the LimitedPolynomial-Strict context balks at answers that are not already simplified completely.
</p>
<p>
For the factored form we need to change to the <code>PolynomialFactors-Strict</code> context and restrict the allowed powers to either 0 or 1 using the <code>LimitedPowers::OnlyIntegers</code> block of code.  Note: restricting all exponents to 0 or 1 means that repeated factors will have to be entered in the form <code>k(ax+b)(ax+b)</code> instead of <code>k(ax+b)^2</code>.  Also, restricting all exponents to 0 or 1 means that the polynomial must factor as a product of linear factors (no irreducible quadratic factors can appear).  Of course, we could allow exponents to be 0, 1, or 2, but then students would be allowed to enter <i>reducible</i> quadratic factors.  There are no restrictions on the coefficients, i.e., the quadratic could have any nonzero leading coefficient.  We set <code>singleFactors=>0</code> so that repeated, non-simplified factors do not generate errors.
</p>
</p>
</td>
</td>
Line 118: Line 95:
BEGIN_TEXT
BEGIN_TEXT
The quadratic expression \( $vertexform \)
The quadratic expression \( $vertexform \)
is written in vertex form.
is written in vertex form. Write the
$BR
expression in expanded form
\( ax^2 + bx + c \).
$BR
$BR
(a) Write the expression in expanded form
\( ax^2 + bx + c \).
$BR
$BR
\{ ans_rule(30) \}
\{ ans_rule(30) \}
$BR
$BR
(b) Write the expression in factored form
\( k(ax+b)(cx+d) \).
$BR
\{ ans_rule(30)\}
END_TEXT
END_TEXT
Context()->normalStrings;
Context()->normalStrings;
Line 137: Line 107:
<p>
<p>
<b>Main Text:</b>
<b>Main Text:</b>
Everything here is as usual.  To help students understand how to format their answers, we give examples <code>ax^2+bx+c</code> and <code>k(ax+b)(cx+d)</code> of what the answers should look like.
To help students understand how to format their answers, we give an example <code>ax^2+bx+c</code> of what the answer should look like.
</p>
</p>
</td>
</td>
Line 150: Line 120:


ANS( $expandedform->cmp() );
ANS( $expandedform->cmp() );
ANS( $factoredform->cmp() );


</pre>
</pre>

Revision as of 17:29, 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

Templates by Subject Area

PG problem file Explanation

Problem tagging data

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("LimitedPolynomial-Strict");
$b = -2 * $h;
$c = $h**2 - $k;
$expandedform = Formula("x^2 + $b x + $c")->reduce();

Setup: We use the LimitedPolynomial-Strict context, construct the coefficients $b and $c as Perl reals, and then construct $expandedform using these pre-computed coefficients. This is because the LimitedPolynomial-Strict context balks at answers that are not already simplified completely.

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 ax^2+bx+c of what the answer should look like.

$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:

Templates by Subject Area