[LON-CAPA-users] How to write a custom response problem with vector I/O?

Itay itayf at nospammail.net
Sat Oct 24 06:35:41 EDT 2020


Just,
Thank you for your reply.
Following your suggestion I tried to create a minimal example based on the template
Math Response using Computer Algebra System R
Here, too, I am having difficulties.
The minimal example is enclosed below.
Typing the correct answer for vector b (ay, -ax)
provokes the response
Unable to understand formula.

Note : the command delegated to R was tested directly with R.

Thank you
Itay


<problem>

  <script type="loncapa/perl">
    $ax = &random(1.0, 10, 0.1); # Coordinates of \vec{a}
    $ay = &random(1.0, 10, 0.1);
    @avec = ($ax, $ay);
    $answer="Chose b such that the scalar product with a is zero.";
  </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 />

<mathresponse answerdisplay="$answer" cas="R" args="@avec">
    <answer>
    abs(sum(LONCAPALIST * RESPONSE))<0.001
    </answer>
    <textline readonly="no" size="20" />
</mathresponse>

</problem>




On Fri, 23 Oct 2020, at 23:36, Justin Gray wrote:
> I'm afraid I do not have an answer to your question, but have you considered coding this problem as a mathresponse problem?
> 
> Best regards,
> Justin
> --


> *Justin Gray*
> Senior Lecturer | Department of Mathematics
> Simon Fraser University | SCK 10531
> 8888 University Dr., Burnaby, B.C. V5A 1S6
> Canada

> Simon Fraser University is located on the Unceded Coast Salish Territories of the xʷməθkʷəy̓əm (Musqueam), Səl̓ílwətaʔ/Selilwitulh (Tsleil-Waututh), Kwikwitlem, and Skwxwú7mesh Úxwumixw (Squamish) Peoples

> 
> 
> On Fri, Oct 23, 2020 at 1:18 PM Itay <itayf at nospammail.net> wrote:
>> __
>> 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 -->
>> 
>> 
> _______________________________________________
> LON-CAPA-users mailing list
> LON-CAPA-users at mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.lon-capa.org/pipermail/lon-capa-users/attachments/20201024/917484e4/attachment.html>


More information about the LON-CAPA-users mailing list