[LON-CAPA-users] customresponse / customhint
Peter Dencker
dencker at math.uni-luebeck.de
Thu Jul 25 06:26:50 EDT 2013
Hi,
the <answer> block of <customhint> can be used to define hints. It
doesn't make sense to return 'INCORRECT'. This has to be done in the
<answer> block of customresponse.
I give a suggestion below.
- Peter
<problem>
<script type = "loncapa/perl">
$term = "2*a*(13*b*c-2*d)";
$solution = &cas("maxima","ratexpand($term)");
$term =~s/\*//g;
$hint = '';
</script>
<part id = 'p0'>
<customresponse id="p0r0">
<startouttext />
Expand <m eval = 'on'> \[$term.\] </m>
<textline readonly="no" size="25" /><br />
<endouttext />
<answer type="loncapa/perl">
if ($submission =~/[()]/) { return 'BAD_FORMULA' }
$given = &implicit_multiplication($submission);
$frommaxima = &cas('maxima',"is(rat($given - ($solution))=0)");
if ($frommaxima eq 'true') { return 'EXACT_ANS';}
if ($frommaxima eq 'false') { return 'INCORRECT';}
return 'BAD_FORMULA'
</answer>
<customhint id="p0r0h0">
<answer type="loncapa/perl">
if ($submission =~ /[()]/) {
$hint = "Expand, don't use parentheses!";
}
else {
$given = &implicit_multiplication($submission);
$frommaxima = &cas('maxima',"is(rat($given - ($solution))=0)");
if ($frommaxima eq 'false') {
$hint = "A solution is an expression equivalent to $solution."
}
}
</answer>
</customhint>
</customresponse>
</part>
<startouttext />
$hint <br /> <br />
<endouttext />
</problem>
On 25.07.2013 09:13, Christina möller wrote:
> Hello LC-Community,
>
> is there anyone, who has an example for <customhint>?
> I try it like the <Egyptian Fraction>-example, but it doesn´t work.
>
> What am I doing wrong?
>
> Thanks.
>
> %<-------- my problem-code
>
> #$term = "2*a*(13*b*c-2*d)";
> #$answer = &cas("maxima","ratsimp($term);");
> #$term =~s/\*//g;
>
> <customresponse answerdisplay="$answer" id="11">
>
> <textline readonly="no" size="25"></textline>
> <hintgroup showoncorrect="no">
>
> <answer type="loncapa/perl">
> $frommaxima = &cas('maxima',"is($submission = $answer);");
> if ($frommaxima=~/^\s*true\s*$/i){ return 'EXACT_ANS';}
> if ($submission eq $answer) { return 'EXACT_ANS'; }
> return 'INCORRECT';
> </answer>
>
>
> <customhint name="format" >
> <answer type="loncapa/perl">
> if ($submission=~/\(/) { return 'INCORRECT'; }
> if ($submission==$term){ return 'INCORRECT'; }
> return 'INCORRECT';
> </answer>
>
> </customhint>
>
> <hintpart on="format">
> <startouttext />
> <p>Customhint format </p>
> <endouttext />
> </hintpart>
>
> </hintgroup>
>
> </customresponse>
>
> ---------->%
>
> _______________________________________________
> LON-CAPA-users mailing list
> LON-CAPA-users at mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
More information about the LON-CAPA-users
mailing list