Diff for /doc/homework/homework5.html between versions 1.5 and 1.14

version 1.5, 2001/06/12 21:05:31 version 1.14, 2002/05/03 18:34:20
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 253 Line 294
   </li>    </li>
   <li>    <li>
     <b>&lt;randomlist&gt;</b> the enclosed tags are parsed in      <b>&lt;randomlist&gt;</b> the enclosed tags are parsed in
     a stable random order      a stable random order, optional argument <i>show</i>
       restricts the number of tags indie that are actually
       parsed the no more than <i>show</i>.
   </li>    </li>
   <li>    <li>
     <b>&lt;solved&gt;</b> everything inside the tag is      <b>&lt;solved&gt;</b> everything inside the tag is
Line 351 Line 394
             <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 458 Line 493
     </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 523 Line 565
     </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 713 Line 813
              <td valign="top">New to LON-CAPA</td>               <td valign="top">New to LON-CAPA</td>
     </tr>      </tr>
      <tr>       <tr>
              <td valign="top">NOT IMPLEMENTED IN CAPA</td>               <td valign="top">NOT DOCUMENTED IN CAPA</td>
              <td valign="top">@return_array=&random_multivariate_normal ($item_cnt,$seed,@mean,@covar) <br>               <td valign="top">@return_array=&random_multivariate_normal ($item_cnt,$seed,\@mean,\@covar) <br>
                         NOTE: @mean should be a length p array of real numbers. @covar should be a length                          NOTE: @mean should be of length p array of real numbers. @covar should be a length
                         p array of references to length p arrays or real numbers (i.e. a p by p matrix.</td>                          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                 <td valign="top">Generate $item_cnt deviates of multivariate_normal distribution with  
                         mean vector @mean and variance-covariance matrix. </td>                          mean vector @mean and variance-covariance matrix. </td>
              <td valign="top">New to LON-CAPA</td>               <td valign="top">Note the backslash before the @mean and @covar arrays.</td>
     </tr>      </tr>
      <tr>       <tr>
              <td valign="top">NOT IMPLEMENTED IN CAPA</td>               <td valign="top">NOT IMPLEMENTED IN CAPA</td>
Line 785 Line 885
       </li>        </li>
       <li>        <li>
  $external::part - set to the <i>id</i> of the current problem   $external::part - set to the <i>id</i> of the current problem
  &lt;part&gt;; zero if there are now &lt;part&gt;   &lt;part&gt;; zero if there are no &lt;part&gt;
       </li>        </li>
       <li>        <li>
  $external::gradestatus - set to the value of the current   $external::gradestatus - set to the value of the current
Line 793 Line 893
       </li>        </li>
       <li>        <li>
  $external::datestatus - set to the current status of the clock   $external::datestatus - set to the current status of the clock
  either CLOSED, CAN_ANSWER, CANNOT_ANSWER, or SHOW_ANSWER   either CLOSED, CAN_ANSWER, CANNOT_ANSWER, SHOW_ANSWER, or UNCHECKEDOUT
       </li>        </li>
       <li>        <li>
  $external::randomseed - set to the number that was used to   $external::randomseed - set to the number that was used to
Line 803 Line 903
       <li>$rad2deg - converts radians to degrees </li>        <li>$rad2deg - converts radians to degrees </li>
       <li>$deg2rad - converts degrees to radians </li>        <li>$deg2rad - converts degrees to radians </li>
     </ul>      </ul>
       
       <h2> Form internals </h2>
       <p> Form elements used for homework editing/response </p>
       <p> the form is named lonhomework </p>
       <h3> Viewing a problem (either CSTR or RES space)</h3>
       <ul>
         <li>
    grade_target, grade_username, grade_domain, grade_symb - the
    vaules take precedence over the the normal ENV settings of
    these, use &Apache::lonxml::whichuser() to get back the
    correct vaues of the items
         </li>
         <li>
    HWVAL_response:number - the name of the input elements for each response. The response is the response's ID, and the :number part exists only for response with multiple foils, and is a unique number in order of the submission
         </li>
         <li>
    changerandseed - the 'Change' button, only exists right after
    the Change button is clicked
         </li>
         <li>
    problemmode - in CSTR, it is either 'View','Edit','EditXML' or
    'Analyze' depending on the desired view
         </li>
         <li>
    rndseed - the currently requested random seed
         </li>
         <li>
    showallfoils - if it exists, and we are in CSTR space, the
    problem should ignore &lt;conceptgroup&gt; and the response's
    max setting and show all possible foils
         </li>
         <li>
    submit - the name of the Submit button
         </li>
         <li>
    submitted - a hidden form parameter that can be used to tell
    if the student has submitted answers or not, if it is set,
    there should be answers to grade.
         </li>
       </ul>
       <h3> Editing a problem (Edit mode)</h3>
       <p> tagdepth referes to the current value of the xmlparsers tagdepth couter ($Apache::lonxml::currentdepth)</p>
   <p> Note: the file edit.pm has many helper functions for creating the standard elements for editing a tag and it's attributes, all of those functions follow these conventions </p>
       <ul>
         <li>
    tagdepth_argname - I.E. 1_3.max, a parameter editing value,
    max is the name of the parameter and it is for the third tag
    inside the first tag
         </li>
         <li>
    delete_tagdepth - if set to yes, delete tag tagdepth and all
    tags inside of it
         </li>
         <li>
    homework_edit_tagdepth - used by both &Apache::edit::editline
    and &Apache::edit::editfield for the &lt;textarea&gt; and
    &lt;input&gt; form elements they create
         </li>
         <li>
    insert_tagdepth - used to request an tag insert, it is set to
    the id number of the requested tag in the
    %Apache::lonxml::insertlist
       </ul>
     <hr>      <hr>
     <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: Tue June 12 15:25 EDT 2001  Last modified: Fri May  3 14:24:52 EDT 2002
 <!-- hhmts end -->  <!-- hhmts end -->
   </body>    </body>
 </html>  </html>

Removed from v.1.5  
changed lines
  Added in v.1.14


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