Difference between revisions of "FactoredPolynomial1"

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with '<h2>Polynomial Factoring</h2> <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> This PG code shows how to require students to factor a polynomial. <ul> <l…')
 
(add historical tag and give links to newer problems.)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
{{historical}}
  +
  +
<p style="font-size: 120%;font-weight:bold">This problem has been replaced with [https://openwebwork.github.io/pg-docs/sample-problems/Algebra/FactoredPolynomial.html a newer version of this problem]</p>
  +
  +
 
<h2>Polynomial Factoring</h2>
 
<h2>Polynomial Factoring</h2>
   
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;">
 
  +
  +
[[File:FactoredPolynomial1.png|300px|thumb|right|Click to enlarge]]
  +
<p style="background-color:#f9f9f9;border:black solid 1px;padding:3px;">
 
This PG code shows how to require students to factor a polynomial.
 
This PG code shows how to require students to factor a polynomial.
<ul>
 
<li>Download file: [[File:FactoredPolynomial1.txt]] (change the file extension from txt to pg when you save it)</li>
 
<li>File location in NPL: <code>NationalProblemLibrary/FortLewis/Authoring/Templates/Algebra/FactoredPolynomial1.pg</code></li>
 
</ul>
 
 
</p>
 
</p>
  +
<!--* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/FactoredPolynomial1.pg FortLewis/Authoring/Templates/Algebra/FactoredPolynomial1.pg]-->
  +
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/FactoredPolynomial1_PGML.pg FortLewis/Authoring/Templates/Algebra/FactoredPolynomial1_PGML.pg]
   
  +
<br clear="all" />
 
<p style="text-align:center;">
 
<p style="text-align:center;">
 
[[SubjectAreaTemplates|Templates by Subject Area]]
 
[[SubjectAreaTemplates|Templates by Subject Area]]
Line 16: Line 22:
   
 
<tr valign="top">
 
<tr valign="top">
<th> PG problem file </th>
+
<th style="width: 50%"> PG problem file </th>
 
<th> Explanation </th>
 
<th> Explanation </th>
 
</tr>
 
</tr>
Line 41: Line 47:
 
<pre>
 
<pre>
 
DOCUMENT();
 
DOCUMENT();
loadMacros(
 
  +
"PGstandard.pl",
 
  +
loadMacros('PGstandard.pl','MathObjects.pl','PGML.pl','PGcourse.pl');
"MathObjects.pl",
 
"contextLimitedPolynomial.pl",
 
"contextPolynomialFactors.pl",
 
"contextLimitedPowers.pl",
 
);
 
   
 
TEXT(beginproblem());
 
TEXT(beginproblem());
Line 55: Line 56:
 
<p>
 
<p>
 
<b>Initialization:</b>
 
<b>Initialization:</b>
We need all of these macros.
 
  +
We require additional contexts provided by <code>contextPolynomialFactors.pl</code> and <code>contextLimitedPowers.pl</code>
 
</p>
 
</p>
 
</td>
 
</td>
Line 65: Line 66:
 
<td style="background-color:#ffffdd;border:black 1px dashed;">
 
<td style="background-color:#ffffdd;border:black 1px dashed;">
 
<pre>
 
<pre>
#
 
# Vertex form
 
#
 
Context("Numeric");
 
$n = list_random(4,6);
 
$a = random(2,4,1);
 
$b = ($a+$n);
 
$h = ($b-$a)/2;
 
$k = $h**2+$a*$b;
 
$vertexform = Compute("(x-$h)^2-$k");
 
 
#
 
 
# Expanded form
 
# Expanded form
#
 
  +
Context('Numeric');
Context("LimitedPolynomial-Strict");
 
  +
$poly = Compute('8x^2+28x+12');
$p[0] = $h**2 - $k;
 
$p[1] = 2*$h;
 
$expandedform = Formula("x^2 - $p[1] x + $p[0]")->reduce;
 
   
#
 
 
# Factored form
 
# Factored form
#
 
  +
Context('PolynomialFactors-Strict');
Context("PolynomialFactors-Strict");
 
 
Context()->flags->set(singleFactors=>0);
 
Context()->flags->set(singleFactors=>0);
 
LimitedPowers::OnlyIntegers(
 
LimitedPowers::OnlyIntegers(
minPower => 0, maxPower => 1,
+
minPower => 0, maxPower => 1,
message => "either 0 or 1",
+
message => 'either 0 or 1',
 
);
 
);
$factoredform = Compute("(x+$a)(x-$b)");
+
$factored = Compute('4(2x+1)(x+3)');
 
</pre>
 
</pre>
 
</td>
 
</td>
Line 99: Line 83:
 
<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).
 
</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.
 
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>
Line 115: Line 93:
 
<td style="background-color:#ffdddd;border:black 1px dashed;">
 
<td style="background-color:#ffdddd;border:black 1px dashed;">
 
<pre>
 
<pre>
Context()->texStrings;
 
  +
BEGIN_PGML
BEGIN_TEXT
 
  +
Write the quadratic expression [` [$poly] `]
The quadratic expression \( $vertexform \)
 
  +
in factored form
is written in vertex form.
 
  +
[` k(ax+b)(cx+d) `].
$BR
 
$BR
 
(a) Write the expression in expanded form
 
\( ax^2 + bx + c \).
 
$BR
 
\{ ans_rule(30) \}
 
$BR
 
$BR
 
(b) Write the expression in factored form
 
\( k(ax+b)(cx+d) \).
 
$BR
 
\{ ans_rule(30)\}
 
END_TEXT
 
Context()->normalStrings;
 
</pre>
 
<td style="background-color:#ffcccc;padding:7px;">
 
<p>
 
<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.
 
</p>
 
</td>
 
</tr>
 
   
<!-- Answer section -->
 
  +
[____________________]{$factored}
   
<tr valign="top">
 
  +
[@ helpLink('formulas') @]*
<td style="background-color:#eeddff;border:black 1px dashed;">
 
  +
END_PGML
<pre>
 
$showPartialCorrectAnswers = 1;
 
 
ANS( $expandedform->cmp() );
 
ANS( $factoredform->cmp() );
 
   
 
</pre>
 
</pre>
<td style="background-color:#eeccff;padding:7px;">
+
<td style="background-color:#ffcccc;padding:7px;">
 
<p>
 
<p>
<b>Answer Evaluation:</b>
+
<b>Main Text:</b>
Everything is as expected.
+
We should explicitly tell students to enter answers in the form <code>k(ax+b)(cx+d)</code>.
 
</p>
 
</p>
 
</td>
 
</td>
 
</tr>
 
</tr>
 
   
 
<!-- Solution section -->
 
<!-- Solution section -->
Line 168: Line 118:
 
<pre>
 
<pre>
   
Context()->texStrings;
 
  +
BEGIN_PGML_SOLUTION
BEGIN_SOLUTION
 
${PAR}SOLUTION:${PAR}
 
 
Solution explanation goes here.
 
Solution explanation goes here.
END_SOLUTION
 
  +
END_PGML_SOLUTION
Context()->normalStrings;
 
 
COMMENT('MathObject version.');
 
   
 
ENDDOCUMENT();
 
ENDDOCUMENT();
Line 192: Line 137:
   
 
[[Category:Top]]
 
[[Category:Top]]
[[Category:Authors]]
+
[[Category:Sample Problems]]
  +
[[Category:Subject Area Templates]]

Latest revision as of 04:48, 18 July 2023

This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

This problem has been replaced with a newer version of this problem


Polynomial Factoring


Click to enlarge

This PG code shows how to require students to factor a polynomial.


Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

loadMacros('PGstandard.pl','MathObjects.pl','PGML.pl','PGcourse.pl');

TEXT(beginproblem()); 

Initialization: We require additional contexts provided by contextPolynomialFactors.pl and contextLimitedPowers.pl

#  Expanded form
Context('Numeric');
$poly = Compute('8x^2+28x+12');

#  Factored form
Context('PolynomialFactors-Strict');
Context()->flags->set(singleFactors=>0);
LimitedPowers::OnlyIntegers(
  minPower => 0, maxPower => 1,
  message => 'either 0 or 1',
);
$factored = Compute('4(2x+1)(x+3)');

Setup: For the factored form we need to change to the PolynomialFactors-Strict context and restrict the allowed powers to either 0 or 1 using the LimitedPowers::OnlyIntegers block of code. Note: restricting all exponents to 0 or 1 means that repeated factors will have to be entered in the form k(ax+b)(ax+b) instead of k(ax+b)^2. 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 reducible quadratic factors. There are no restrictions on the coefficients, i.e., the quadratic could have any nonzero leading coefficient. We set singleFactors=>0 so that repeated, non-simplified factors do not generate errors.

BEGIN_PGML
Write the quadratic expression [` [$poly] `]
in factored form
[` k(ax+b)(cx+d) `].

[____________________]{$factored} 

[@ helpLink('formulas') @]*
END_PGML

Main Text: We should explicitly tell students to enter answers in the form k(ax+b)(cx+d).


BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION

ENDDOCUMENT();

Solution:

Templates by Subject Area