Annotation of loncom/html/adm/help/tex/Math_Response_Problems.tex, revision 1.2
1.1 www 1: \label{Math_Response_Problems}
2: Math Response is a way to have a problem graded based on an algorithm that is executed inside of a computer algebra system.
3: The use of this response type is
4: generally discouraged, since the responses will not be analyzable by the LON-CAPA statistics tools.
5:
6: Which computer algebra system is to be used is specified in the cas argument of the mathresponse tag; currently, only Maxima is available.
7: LON-CAPA sets up two arrays inside the computer algebra system: RESPONSE and LONCAPALIST. RESPONSE contains the student input by component, for example, if "3,42,17" is entered, RESPONSE[2] would be 42. LONCAPALIST contains the arguments passed in the args of mathresponse.
8:
9: The answerdisplay is what is displayed when the problem is in "Show Answer" mode.
10:
11: The following example illustrates this.
12: \begin{verbatim}
13: <problem>
1.2 ! albertel 14: <script type="loncapa/perl">
1.1 www 15: $a1 = random(-6,6,4);
16: $a2 = random(-6,6,4);
17: $n1 = random(3,11,2);
18: $n2 = random(2,10,2);
19: $function = "$a1*cos($n1*x)+$a2*sin($n2*x)";
1.2 ! albertel 20: $example=&xmlparse('An example would be <m eval="on">$(sin($n1\cdot x)+cos($n2\cdot x))/\sqrt{2}$</m>');
! 21: </script>
! 22:
1.1 www 23: <startouttext />
1.2 ! albertel 24: Give an example of a function
! 25: <ol>
! 26: <li>
! 27: which is orthogonal to <algebra>$function</algebra> with respect to the
! 28: scalar product
! 29: <m>
! 30: \[<g \mid h> =
! 31: \frac{1}{\pi} \int_{-\pi}^{\pi}dx g(x) \cdot h(x)\]
! 32: </m>
! 33: </li>
! 34: <li>
! 35: whose norm is 1.
! 36: </li>
! 37: </ol>
! 38: <endouttext />
! 39:
1.1 www 40: <mathresponse answerdisplay="$example" cas="maxima" args="$function">
1.2 ! albertel 41: <answer>
! 42: overlap:integrate((RESPONSE[1])*(LONCAPALIST[1]),x,-%pi,%pi)/%pi;
1.1 www 43: norm:integrate((RESPONSE[1])*(RESPONSE[1]),x,-%pi,%pi)/%pi;
1.2 ! albertel 44: is(overlap=0 and norm=1);
! 45: </answer>
! 46: <textline readonly="no" size="50" />
! 47: <hintgroup showoncorrect="no">
! 48: <mathhint name="ortho" args="$function" cas="maxima">
! 49: <answer>
! 50: overlap: integrate((LONCAPALIST[1])*(RESPONSE[1]),x,-%pi,%pi)/%pi;
! 51: is(not overlap = 0);
! 52: </answer>
! 53: </mathhint>
! 54: <mathhint name="norm" args="$function" cas="maxima">
! 55: <answer>
! 56: norm: integrate((RESPONSE[1])*(RESPONSE[1]),x,-%pi,%pi)/%pi;
! 57: is(not norm = 1);
! 58: </answer>
! 59: </mathhint>
! 60: <hintpart on="norm">
! 61: <startouttext />
! 62: The function you have provided does not have a norm of one.
! 63: <endouttext />
! 64: </hintpart>
! 65: <hintpart on="ortho">
! 66: <startouttext />
! 67: The function you have provided is not orthogonal.
! 68: <endouttext />
! 69: </hintpart>
! 70: </hintgroup>
1.1 www 71: </mathresponse>
1.2 ! albertel 72:
! 73:
! 74: <postanswerdate>
! 75: <startouttext />
! 76: <p>
! 77: Note that with respect to the above norm, <m>$\cos(nx)$</m> is perpendicular
! 78: to <m>$\sin(nx)$</m> and perpendicular to <m>$\cos(mx)$</m> for
! 79: <m>$n\ne m$</m>.
! 80: </p>
! 81: <endouttext />
1.1 www 82: </postanswerdate>
83: </problem>
84: \end{verbatim}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>