ExpandedPolynomial1

From WeBWorK_wiki
Revision as of 16:53, 7 June 2015 by Paultpearson (talk | contribs) (Add link to PGML version in OPL)
Jump to navigation Jump to search

Polynomial Multiplication (Expanding)

Click to enlarge

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


Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

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

TEXT(beginproblem()); 

Initialization: We must load contextLimitedPolynomial.pl

#
#  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.

$showPartialCorrectAnswers = 1;

ANS( $expandedform->cmp() );

Answer Evaluation:


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

COMMENT('MathObject version.');

ENDDOCUMENT();

Solution:

Templates by Subject Area