I work around this problem with the "partial credit answer evaluator".
The idea is that it goes through a sequence of answer evalators until
it hits one which says the answer is correct. The problem author gets
to say how much credit that is worth, so
ANS( pc_evaluator([[ fun_cmp(0), 0],
[fun_cmp("k($ans) +c",var=>['x','y'], params=>['k','c']]));
would give 0 credit if the student answer matches the 0 function,
otherwise you get the result of the comparison you really wanted.
pc_evaluator is in PGasu.pl. If the syntax above does not work, you may need a new copy of that file from Rochester CVS.
PS When I first wrote pc_evaluator, I didn't really think it was going
to be useful. Yet, this is not the first time it could be used to
answer a question in this discussion area.
<| Post or View Comments |>