ANS(fun_cmp("k($ans) + c", var=>['x','y'], params=>['k','c'] ) );

The trouble is that 0 is counted as a correct answer. Can anyone help?

Is it possible to have an answer with an added variable checked up to a nonzero parameter multiple? I have an ODE with solutions given implicitly by F(x,y) = C. I want students to enter F(x,y). I have written the answer (in old style code, which I plan to update) as

ANS(fun_cmp("k($ans) + c", var=>['x','y'], params=>['k','c'] ) );

The trouble is that 0 is counted as a correct answer. Can anyone help?

In reply to David Protas
### Re: Answer up to multiplication by a nonzero constant and added variables

by Gavin LaRose -

Hi David,

Maybe something like the following?

Context("Numeric")->variables->are( x=>'Real', y=>'Real' ); $ans = "..."; $ansObj = Compute( $ans ); ... ANS( $ansObj->cmp( checker=> sub { my ( $correct, $student, $self ) = @_; my $context = Context()->copy; $context->flags->set(no_parameters=>0); $context->variables->add( c=>'Parameter', k=>'Parameter' ); my $c = Formula($context,'c'); my $k = Formula($context,'k'); $student = Formula($context,$student); $correct = Formula($context,"$k*($ans) + $c"); return $correct == $student && Compute(0) != $student; }));

(This is shamelessly copied from the techniques page on adaptive parameters: <http://http://webwork.maa.org/wiki/AdaptiveParameters>.)

Gavin

In reply to Gavin LaRose
### Re: Answer up to multiplication by a nonzero constant and added variables

by David Protas -

Gavin,

Thanks. It works like a charm.

David