[LON-CAPA-users] How to write a custom response problem with vector I/O?
Itay
itayf at nospammail.net
Fri Oct 23 16:12:00 EDT 2020
Hi
I am trying to develop a custom response problem in which the student submission is a vector.
A minimal example is provided below.
Regardless of what I typed in the either of the two input fields I get the response:
'This question expects a numeric answer.'
Please advise what am I doing wrong?
Thanks in advance.
Itay
<problem> <!-- begin minimal -->
<script type="loncapa/perl">
$ax = &random(1.0, 10, 0.1); # Coordinates of \vec{a}
$ay = &random(1.0, 10, 0.1);
</script>
<startouttext />
Consider a vector <m eval="on">\( \vec{a} = $ax\hat{x} + $ay\hat{y} \)</m>'.
Provide a vector <m>\( \vec{b} \)</m>, orthogonal to <m>\( \vec{a} \)</m>.
<br />
<endouttext />
<customresponse id="dotProd">
<answer type="loncapa/perl">
for ($i=0; $i<2; $i++) { # Test input sanity.
if ($submission[i] =~ /^\d+\s+\w+$/) { return 'UNIT_NOTNEEDED'; }
if ($submission[i] !~ /^[\d\.]+$/) { return 'WANTED_NUMERIC'; }
}
# Is submission correct?
$dotProd = $ax * $submission[0] + $ay * $submission[1];
if (abs($dotProd) < 1.0e-3) { return 'APPROX_ANS'; } # Can't expect EXACT_ANS.
return 'INCORRECT';
</answer>
<startouttext /><m>\( b_x = \)</m><endouttext />
<textline size="10" readonly="no" spellcheck="none" />
<startouttext /><br /><endouttext />
<startouttext /><m>\( b_y = \)</m><endouttext />
<textline size="10" readonly="no" spellcheck="none" />
<startouttext /><br /><endouttext />
</customresponse>
</problem> <!-- end minimal -->
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.lon-capa.org/pipermail/lon-capa-users/attachments/20201023/04782eba/attachment.html>
More information about the LON-CAPA-users
mailing list