AnswerUpToMultiplication1
Jump to navigation
Jump to search
Answer is a Function up to Multiplication by a Nonzero Constant
This PG code shows how to
- File location in OPL: FortLewis/Authoring/Templates/Precalc/AnswerUpToMultiplication1.pg
- PGML location in OPL: FortLewis/Authoring/Templates/Precalc/AnswerUpToMultiplication1_PGML.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( 'PGstandard.pl', 'MathObjects.pl', 'PGML.pl', 'PGcourse.pl' ); TEXT(beginproblem()); |
Initialization: |
Context('Numeric'); $sol_str = '(x-2)*(x+1)'; $ans = Compute($sol_str)->cmp(checker => sub { my ( $correct, $student, $self ) = @_; my $context = Context()->copy; return 0 if $student == 0; $context->flags->set(no_parameters=>0); $context->variables->add('C0'=>'Parameter'); my $c0 = Formula($context,'C0'); $student = Formula($context,$student); $correct = Formula($context,"$c0 * $sol_str"); return $correct == $student; }); |
Setup:
We use a local context with an adaptive parameter to check the answer. For more on adaptive parameters, see AdaptiveParameters. This builds a custom checker that checks if the student answer is a parameter |
BEGIN_PGML Find a quadratic equation in terms of the variable [` x `] with roots [` -1 `] and [` 2 `]. [` y = `] [______________]{$ans} [@ helpLink('formulas') @]* END_PGML |
Main Text: |
BEGIN_PGML_SOLUTION Solution explanation goes here. END_PGML_SOLUTION ENDDOCUMENT(); |
Solution: |