From: dpvc v. a. <we...@ma...> - 2007-09-06 10:53:32
|
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}'") |