Log Message:
-----------
Fixed check to use a variable that is known to be in the context
(rather than incorrectly assuming 'x' is there).
Modified Files:
--------------
pg/macros:
parserFormulaUpToConstant.pl
Revision Data
-------------
Index: parserFormulaUpToConstant.pl
===================================================================
RCS file: /webwork/cvs/system/pg/macros/parserFormulaUpToConstant.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -Lmacros/parserFormulaUpToConstant.pl -Lmacros/parserFormulaUpToConstant.pl -u -r1.6 -r1.7
--- macros/parserFormulaUpToConstant.pl
+++ macros/parserFormulaUpToConstant.pl
@@ -192,9 +192,12 @@
my $result = $ans->{correct_value} <=> $student; # compare encodes the reason in the result
$self->cmp_Error($ans,"Note: there is always more than one posibility") if $result == 2 || $result == 3;
if ($result == 3) {
- $self->context->flags->set(no_parameters=>0);
- $result = 1 if $self->removeConstant+"n01+n00x" == $student+"x"; # must use both parameters
- $self->context->flags->set(no_parameters=>1);
+ my $context = $self->context;
+ $context->flags->set(no_parameters=>0);
+ $context->variables->add(x00=>'Real');
+ $result = 1 if $self->removeConstant+"n01+n00x00" == $student+"x00"; # must use both parameters
+ $context->variables->remove('x00');
+ $context->flags->set(no_parameters=>1);
}
$self->cmp_Error($ans,"Your answer is not the most general solution") if $result == 1;
$self->cmp_Error($ans,"Your formula should be linear in the constant '$student->{constant}'")
|