Diff for /doc/homework/homework5.html between versions 1.4 and 1.12

version 1.4, 2001/06/01 14:17:04 version 1.12, 2001/12/07 15:05:03
Line 4 Line 4
     <title>LON-CAPA Homework System</title>      <title>LON-CAPA Homework System</title>
   </head>    </head>
   
   <body>    <body bgcolor="white">
     <h1>LON-CAPA Homework System</h1>      <h1>LON-CAPA Homework System</h1>
   
     <h2>Tags</h2>      <h2>Tags</h2>
Line 62 Line 62
     the response to go in. It checks all styles of numerical      the response to go in. It checks all styles of numerical
     supported in CAPA. Possible args are:      supported in CAPA. Possible args are:
     <ul>      <ul>
       <li><i>answer</i> required, specifies the correct answer, must be a perl list</li>        <li><i>answer</i> required, specifies the correct answer, may be either a perl list or scalar</li>
       <li><i>type</i> optional, CAPA style str args, cs/ci/mc</li>  
       <li><i>units</i> optional, specifies unit of correct answer, CAPA style</li>        <li><i>units</i> optional, specifies unit of correct answer, CAPA style</li>
     </ul>      </ul>
   </li>    </li>
   <li>    <li>
       <b>&lt;stringresponse&gt;</b> implements a string answer,
       it needs an internal <b>&lt;textline&gt;</b> for the
       response to go in. It can check the string for either case
       or order.
       <ul>
         <li><i>answer</i> required, specifies the correct answer, may be either a perl list or scalar</li>
         <li><i>type</i> optional, CAPA style str args, cs/ci/mc
    <ul>
     <li>cs - case senesitive, order important</li>
     <li>ci - case insenesitive, order important</li>
     <li>mc - case insenesitive, order unimportant</li>
    </ul>
         </li>
       </ul>
     <li>
     <b>&lt;essayresponse&gt;</b> implements a ungraded large      <b>&lt;essayresponse&gt;</b> implements a ungraded large
     text response, it need an internal <b>&lt;textarea&gt;</b>      text response, it need an internal <b>&lt;textarea&gt;</b>
     for the response to go in.      for the response to go in.
Line 108 Line 122
     <i>value</i> of a &lt;foil&gt;can only be "true" or      <i>value</i> of a &lt;foil&gt;can only be "true" or
     "false" or "unused"      "false" or "unused"
   </li>    </li>
     <li>
       <b>&lt;dataresponse&gt;</b> implements a straight data
       storage entry idea, needs and interveing input tag like
       &lt;textline&gt; to work correctly.<br>
       Arguments:
       <ul>
         <li>
    <i>name</i> internal name for the value, it will have
    the part id and respose id added on to it
         </li>
         <li>
    <i>type</i> type of data stored in this response
    field, should be one of the types supported by
    parameter.html
         </li> 
         <li>
    <i>display</i> a string that will be used to describe
    the field when interfacing with humans
         </li>
       </ul>
     <li>
  </ul>   </ul>
  <li>   <li>
  <a name="foil">Foil Structure Tags</a>   <a name="foil">Foil Structure Tags</a>
Line 201 Line 236
     <b>&lt;window&gt;</b> the text in between is put in a      <b>&lt;window&gt;</b> the text in between is put in a
     popup javascript window      popup javascript window
   </li>    </li>
     <li>
       <b>&lt;m&gt;</b> the inside text is LaTeX, and is
       converted to HTML (or MathML) on the fly, if the argument
       <i>eval</i> is set to "on" the intervening text will have
       a perl var expansion done to it before being converted.
     </li>
  </ul>   </ul>
       </li>        </li>
       <li>        <li>
Line 300 Line 341
     <h2>&lt;script&gt; Functions</h2>      <h2>&lt;script&gt; Functions</h2>
     <p>       <p> 
       A list of functions that have been written that are available in         A list of functions that have been written that are available in 
       the Safe space scripting environment inside a problem. The eventual        the Safe space scripting environment inside a problem. 
       goal is to provide all of the functions available in CAPA. Detailed  
       descriptions of each function and comparison with CAPA is given in  
       <a href="homework6.html">CAPA to LON-CAPA Functions</a>.  
     </p>      </p>
     <ul>      <ul>
       <li>sin(x), cos(x), tan(x)</li>        <li>sin(x), cos(x), tan(x)</li>
Line 338 Line 376
       <li>caparesponse_check</li>        <li>caparesponse_check</li>
       <li>caparesponse_check_list</li>        <li>caparesponse_check_list</li>
     </ul>      </ul>
   <!-- Table inserted by H. K. Ng 
       06/01/2001
       06/12/2001
   -->
       <p> 
         Detailed descriptions of each function and comparison with CAPA.
       </p>
   
   <table border=1>    <table border=1>
       <tr>        <tr>
Line 347 Line 392
             <td valign="top"><b>Differences (if any)</b</td>              <td valign="top"><b>Differences (if any)</b</td>
      </tr>       </tr>
   
      <tr>  
              <td valign="top">sin(x), cos(x), tan(x)</td>  
              <td valign="top">&amp;sin($x), &amp;cos($x), &amp;tan($x)</td>  
              <td valign="top">Trigonometric functions where x is in radians. $x  
          can be a pure number, i.e., you can call &amp;sin(3.1415)</td>  
              <td valign="top">&nbsp</td>  
     </tr>  
   
     <tr>      <tr>
              <td valign="top">sin(x), cos(x), tan(x)</td>               <td valign="top">sin(x), cos(x), tan(x)</td>
              <td valign="top">&amp;sin($x), &amp;cos($x), &amp;tan($x)</td>               <td valign="top">&amp;sin($x), &amp;cos($x), &amp;tan($x)</td>
Line 454 Line 491
     </tr>      </tr>
   
     <tr>      <tr>
                <td valign="top">/DIS($x,"nn")</td>
                <td valign="top">&amp;format($x,"nn")</td>
                <td valign="top">Display or format $x as nn where nn is nF or nE and n is an integer.</td>
                <td valign="top">&nbsp;The difference is obvious.</td>
       </tr>
   
       <tr>
              <td valign="top">roundto(x,n)</td>               <td valign="top">roundto(x,n)</td>
              <td valign="top">&amp;roundto($x,$n)</td>               <td valign="top">&amp;roundto($x,$n)</td>
              <td valign="top">Rounds a real number to n decimal points. $x and               <td valign="top">Rounds a real number to n decimal points. $x and
Line 485 Line 529
                  y is real. $x can be a pure number. $m must be an integer and can be a                   y is real. $x can be a pure number. $m must be an integer and can be a
                  pure integer number. $y can be a pure real number</td>                   pure integer number. $y can be a pure real number</td>
              <td valign="top">In CAPA, j0, j1 and jn are contained in one function,               <td valign="top">In CAPA, j0, j1 and jn are contained in one function,
                  jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) was not implemented</td>                   jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) is new to LON-CAPA.</td>
     </tr>      </tr>
   
     <tr>      <tr>
Line 496 Line 540
                  yv(y,x), y is real. $x can be a pure number. $m must be an integer and                   yv(y,x), y is real. $x can be a pure number. $m must be an integer and
                  can be a pure integer number. $y can be a pure real number</td>                   can be a pure integer number. $y can be a pure real number</td>
              <td valign="top">In CAPA, y0, y1 and yn are contained in one function,               <td valign="top">In CAPA, y0, y1 and yn are contained in one function,
                  yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) was not implemented</td>                   yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) is new to LON-CAPA.</td>
     </tr>      </tr>
   
     <tr>      <tr>
Line 519 Line 563
     </tr>      </tr>
   
     <tr>      <tr>
                <td valign="top">/MAP(seed;w,x,y,z;a,b,c,d)</td>
                <td valign="top">Option 1 - &amp;map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> 
                     Option 2 - &amp;map($seed,\@mappedArray,[$a,$b,$c,$d]) <br>
                     Option 3 - @mappedArray = &amp;map($seed,[$a,$b,$c,$d]) <br>
                     Option 4 - ($w,$x,$y,$z) = &amp;map($seed,\@a) <br>
                     where $a='A'<br>
                           $b='B'<br>
                           $c='B'<br>
                           $d='B'<br>
                           $w, $x, $y, and $z are variables</td>
                <td valign="top">Assigns to the variables $w, $x, $y and $z the values of the
                     $a, $b, $c and $c (A, B, C and D). The precise value for $w .. depends
                     on the seed. (Option 1 of calling map). 
                     In option 2, the values of $a, $b .. are mapped into the array, @mappedArray. The two
                     options illustrate the different grouping. Options 3 and 4 give a consistent 
                     way (with other functions) of mapping the items. For each option, the group can
                     be passed as an array, for example, [$a,$b,$c,$d] => \@a.</td>
                <td valign="top">In CAPA, the arguments are divided into three groups separated
                     by a semicolon ;. In LON-CAPA, the separation is done by using [] brackets or
                     using an array @a. Note the backslash (\) before the arguments in the
                     second and third groups.</td>
       </tr>
   
   
       <tr>
                <td valign="top">rmap(seed;a,b,c,d;w,x,y,z)</td>
                <td valign="top">Option 1 - &amp;rmap($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> 
                     Option 2 - &amp;rmap($seed,\@rmappedArray,[$a,$b,$c,$d]) <br>
                     Option 3 - @rmapped_array = &amp;rmap($seed,[$a,$b,$c,$d]) <br>
                     Option 4 - ($w,$x,$y,$z) = &amp;rmap($seed,\@a) <br>
                     where $a='A'<br>
                           $b='B'<br>
                           $c='B'<br>
                           $d='B'<br>
                           $w, $x, $y, and $z are variables</td>
                <td valign="top">The rmap functions does the reverse action of map if the same seed
                     is used in calling map and rmap. </td>
                <td valign="top">In CAPA, the arguments are divided into
                three groups separated by a semicolon ;. In LON-CAPA, the
                separation is done by using [] brackets (with create an
                unamed vector reference) or using an array @a. Note the
                backslash (\) before the arguments in the second and
                third groups (Which cause Perl to send to variable
                locations rather than the variable values, similar to a C
                pointer).</td>
       </tr>
         
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">$a=&amp;xmlparse($string) </td>
                <td valign="top">Runs the internal parser over the
     argument parsing for display. <b>Warning</b> This will
     result in different strings in different targets. Don't use
     the results of this function as an answer.</td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
   
       <tr>
              <td valign="top">tex(a,b), tex("a","b")</td>               <td valign="top">tex(a,b), tex("a","b")</td>
              <td valign="top">&amp;tex($a,$b), &amp;tex("a","b")</td>               <td valign="top">&amp;tex($a,$b), &amp;tex("a","b")</td>
              <td valign="top">Returns a if the output mode is in tex otherwise               <td valign="top">Returns a if the output mode is in tex otherwise
Line 607 Line 709
                   result in array B[i] where i = 0 to 4. The contents of B are as follows:                    result in array B[i] where i = 0 to 4. The contents of B are as follows:
                   B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness                    B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness
                   and B[4] = kurtosis.</td>                    and B[4] = kurtosis.</td>
              <td valign="top">&nbsp;</td>               <td valign="top">In CAPA, the moments are passed as an array in the first argument whereas
                     in LON-CAPA, the array containing the moments are set equal to the function.</td>
     </tr>      </tr>
   
     <tr>      <tr>
Line 626 Line 729
              <td valign="top">To destroy the contents of an array, use</td>               <td valign="top">To destroy the contents of an array, use</td>
              <td valign="top">Use perl intrinsic undef function.</td>               <td valign="top">Use perl intrinsic undef function.</td>
     </tr>      </tr>
        <tr>
     <tr>               <td valign="top">random_normal (return_array,item_cnt,seed,av,std_dev)</td>
              <td valign="top">random_norma(...), random_beta(...), random_gamma(...),               <td valign="top">@return_array=&random_normal ($item_cnt,$seed,$av,$std_dev)</td>
                random_exponential(...), random_poisson(...), random_chi(...), random_noncentral(...)</td>               <td valign="top">Generate $item_cnt deviates of normal distribution of average $av and
              <td valign="top">Not yet implemented.</td>                          standard deviation $std_dev. The distribution is generated from seed $seed</td>
              <td valign="top">&nbsp;</td>               <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
              <td valign="top">&nbsp;</td>                          the results are set equal to the function.</td>
     </tr>      </tr>
   </table>       <tr>
                <td valign="top">random_beta (return_array,item_cnt,seed,aa,bb)</td>
                <td valign="top">@return_array=&random_beta ($item_cnt,$seed,$aa,$bb) <br>
                           NOTE: Both $aa and $bb MUST be greater than 1.0E-37.</td>
                <td valign="top">Generate $item_cnt deviates of beta distribution. 
                           The density of beta is:
                           X^($aa-1) *(1-X)^($bb-1) /B($aa,$bb) for 0&lt;X&lt;1.</td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">random_gamma (return_array,item_cnt,seed,a,r)</td>
                <td valign="top">@return_array=&random_gamma ($item_cnt,$seed,$a,$r) <br>
                           NOTE: Both $a and $r MUST be positive.</td>
                <td valign="top">Generate $item_cnt deviates of gamma distribution. 
                           The density of gamma is:
                           ($a**$r)/gamma($r) * X**($r-1) * exp(-$a*X).</td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">random_exponential (return_array,item_cnt,seed,av)</td>
                <td valign="top">@return_array=&random_exponential ($item_cnt,$seed,$av) <br>
                           NOTE: $av MUST be non-negative.</td>
                <td valign="top">Generate $item_cnt deviates of exponential distribution. </td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">random_poisson (return_array,item_cnt,seed,mu)</td>
                <td valign="top">@return_array=&random_poisson ($item_cnt,$seed,$mu) <br>
                           NOTE: $mu MUST be non-negative.</td>
                <td valign="top">Generate $item_cnt deviates of poisson distribution. </td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">random_chi (return_array,item_cnt,seed,df)</td>
                <td valign="top">@return_array=&random_chi ($item_cnt,$seed,$df) <br>
                           NOTE: $df MUST be positive.</td>
                <td valign="top">Generate $item_cnt deviates of chi_square distribution with $df 
                           degrees of freedom. </td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">random_noncentral_chi (return_array,item_cnt,seed,df,nonc)</td>
                <td valign="top">@return_array=&random_noncentral_chi ($item_cnt,$seed,$df,$nonc) <br>
                           NOTE: $df MUST be at least 1 and $nonc MUST be non-negative.</td>
                <td valign="top">Generate $item_cnt deviates of noncentral_chi_square 
                           distribution with $df 
                           degrees of freedom and noncentrality parameter $nonc. </td>
                <td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA 
                           the results are set equal to the function.</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_f ($item_cnt,$seed,$dfn,$dfd) <br>
                           NOTE: Both $dfn and $dfd MUST be positive.</td>
                <td valign="top">Generate $item_cnt deviates of F (variance ratio) distribution with  
                           degrees of freedom $dfn (numerator) and $dfd (denominator). </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_noncentral_f ($item_cnt,$seed,$dfn,$dfd,$nonc) <br>
                           NOTE: $dfn must be at least 1, $dfd MUST be positive, and $nonc must
                           be non-negative.</td>
                <td valign="top">Generate $item_cnt deviates of noncentral F (variance ratio) 
                           distribution with degrees of freedom $dfn (numerator) and $dfd (denominator).
                           $nonc is the noncentrality parameter. </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT DOCUMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_multivariate_normal ($item_cnt,$seed,\@mean,\@covar) <br>
                           NOTE: @mean should be of length p array of real numbers. @covar should be a length
                           p array of references to length p arrays of real numbers (i.e. a p by p matrix.</td>
                <td valign="top">Generate $item_cnt deviates of multivariate_normal distribution with  
                           mean vector @mean and variance-covariance matrix. </td>
                <td valign="top">Note the backslash before the @mean and @covar arrays.</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_multinomial ($item_cnt,$seed,@p) <br>
                           NOTE: $item_cnt is rounded with int() and the result must be non-negative. 
                           The number of elements in @p must be at least 2.</td>
                <td valign="top">Returns single observation from multinomial distribution with  
                           $item_cnt events classified into as many categories as the length of @p.
                           The probability of an event being classified into category i is given by 
                           ith element of @p. The observation is an array with length equal to @p, so
                           when called in a scalar context it returns the length of @p. The sum of the
                           elements of the obervation is equal to $item_cnt.</td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_permutation ($item_cnt,@array) </td>
                <td valign="top">Returns @array randomly permuted.</td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_uniform ($item_cnt,$seed,$low,$high) <br>
                           NOTE: $low must be less than or equal to $high.</td>
                <td valign="top">Generate $item_cnt deviates from a uniform distribution. </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_uniform_integer ($item_cnt,$seed,$low,$high) <br>
                           NOTE: $low and $high are both passed through int().
                                 $low must be less than or equal to $high.</td>
                <td valign="top">Generate $item_cnt deviates from a uniform distribution in integers. </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_binomial ($item_cnt,$seed,$nt,$p) <br>
                           NOTE: $nt is rounded using int() and the result must be non-negative. 
                                 $p must be between 0 and 1 inclusive.</td>
                <td valign="top">Generate $item_cnt deviates from the binomial distribution with
                           $nt trials and the probabilty of an event in each trial is $p. </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
        <tr>
                <td valign="top">NOT IMPLEMENTED IN CAPA</td>
                <td valign="top">@return_array=&random_negative_binomial ($item_cnt,$seed,$ne,$p) <br>
                           NOTE: $ne is rounded using int() and the result must be positive. 
                                 $p must be between 0 and 1 exclusive.</td>
                <td valign="top">Generate an array of $item_cnt outcomes generated from 
                           negative binomial distribution with
                           $ne events and the probabilty of an event in each trial is $p. </td>
                <td valign="top">New to LON-CAPA</td>
       </tr>
    </table>
   <!-- insertion ends -->
   
     <h2>&lt;script&gt; Variables</h2>      <h2>&lt;script&gt; Variables</h2>
     <ul>      <ul>
Line 668 Line 906
     <address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address>      <address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address>
 <!-- Created: Thu May 17 15:05:35 EDT 2001 -->  <!-- Created: Thu May 17 15:05:35 EDT 2001 -->
 <!-- hhmts start -->  <!-- hhmts start -->
 Last modified: Fri May 18 21:29:39 EDT 2001  Last modified: Fri Dec  7 10:03:55 EST 2001
 <!-- hhmts end -->  <!-- hhmts end -->
   </body>    </body>
 </html>  </html>

Removed from v.1.4  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>