# ExpandedPolynomial1

(Difference between revisions)

## Polynomial Multiplication (Expanding)

Click to enlarge

This PG code shows how to require students to expand polynomial multiplication.

PG problem file Explanation

Problem tagging:

DOCUMENT();

"PGstandard.pl",
"MathObjects.pl",
"contextLimitedPolynomial.pl",
);

TEXT(beginproblem());

#
#  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: The macro contextLimitedPolynomial.pl provides two contexts:

Context("LimitedPolynomial");
Context("LimitedPolynomial-Strict");

The strict version does not allow any mathematical operations within coefficients, so (5+3)x must be simplified to 8x. For more details, see contextLimitedPolynomial.pl.html

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. Notice that we called the ->reduce() method on the expanded form of the polynomial, which will ensure that the polynomial will be displayed as x^2 - 6x + 4 instead of x^2 + -6x + 4.

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.

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

Context()->texStrings;
BEGIN_SOLUTION
\${PAR}SOLUTION:\${PAR}
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;

COMMENT('MathObject version.');

ENDDOCUMENT();

Solution: