Difference between revisions of "ExpandedPolynomial1"

From WeBWorK_wiki
Jump to navigation Jump to search
(switch to PGML and remove answerFormatHelp.pl macro)
Line 5: Line 5:
 
This PG code shows how to require students to expand polynomial multiplication.
 
This PG code shows how to require students to expand polynomial multiplication.
 
</p>
 
</p>
* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1.pg FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1.pg]
+
<!--* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1.pg FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1.pg] -->
 
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1_PGML.pg FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1_PGML.pg]
 
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1_PGML.pg FortLewis/Authoring/Templates/Algebra/ExpandedPolynomial1_PGML.pg]
   
Line 16: Line 16:
   
 
<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 42: Line 42:
 
DOCUMENT();
 
DOCUMENT();
   
loadMacros(
 
  +
loadMacros('PGstandard.pl','MathObjects.pl','contextLimitedPolynomial.pl',
"PGstandard.pl",
 
  +
'AnswerFormatHelp.pl','PGML.pl','PGcourse.pl');
"MathObjects.pl",
 
"contextLimitedPolynomial.pl",
 
);
 
   
 
TEXT(beginproblem());
 
TEXT(beginproblem());
Line 103: Line 100:
 
<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
 
  +
The quadratic expression [` [$vertexform] `]
The quadratic expression \( $vertexform \)
 
  +
is written in vertex form. Write the
is written in vertex form. Write the
 
  +
expression in expanded form [` ax^2 + bx + c `].
expression in expanded form
 
  +
\( ax^2 + bx + c \).
 
  +
[_____________________]{$expandedform}
$BR
 
  +
$BR
 
  +
[@ helpLink('formulas') @]*
\{ ans_rule(30) \}
 
  +
END_PGML
END_TEXT
 
Context()->normalStrings;
 
 
</pre>
 
</pre>
 
<td style="background-color:#ffcccc;padding:7px;">
 
<td style="background-color:#ffcccc;padding:7px;">
Line 122: Line 117:
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<!-- Answer section -->
 
 
<tr valign="top">
 
<td style="background-color:#eeddff;border:black 1px dashed;">
 
<pre>
 
$showPartialCorrectAnswers = 1;
 
 
ANS( $expandedform->cmp() );
 
 
</pre>
 
<td style="background-color:#eeccff;padding:7px;">
 
<p>
 
<b>Answer Evaluation:</b>
 
</p>
 
</td>
 
</tr>
 
 
   
 
<!-- Solution section -->
 
<!-- Solution section -->
Line 146: Line 123:
 
<td style="background-color:#ddddff;border:black 1px dashed;">
 
<td style="background-color:#ddddff;border:black 1px dashed;">
 
<pre>
 
<pre>
 
  +
BEGIN_PGML_SOLUTION
Context()->texStrings;
 
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();

Revision as of 10:44, 4 April 2023

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',
  'AnswerFormatHelp.pl','PGML.pl','PGcourse.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

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.

BEGIN_PGML
The quadratic expression [` [$vertexform] `]
is written in vertex form.  Write the
expression in expanded form [` ax^2 + bx + c `].

[_____________________]{$expandedform}

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

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.

BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION

ENDDOCUMENT();

Solution:

Templates by Subject Area