Diff for /doc/gutshtml/SessionOn2.html between versions 1.1 and 1.2

version 1.1, 2002/06/28 20:30:29 version 1.2, 2003/07/22 14:47:00
Line 1 Line 1
 <html>  <html>
 <head>  
 <meta name=Title  <head>
 content="Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)">  
 <meta http-equiv=Content-Type content="text/html; charset=macintosh">  <meta name=Title
 <link rel=Edit-Time-Data href="Session%20On2_files/editdata.mso">  
 <title>Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)</title>  content="Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)">
 <style><!--  
 .MsoHeader  <meta http-equiv=Content-Type content="text/html; charset=macintosh">
  {tab-stops:center 3.0in right 6.0in;  
  font-size:10.0pt;  <link rel=Edit-Time-Data href="Session%20On2_files/editdata.mso">
  font-family:"Times New Roman";}  
 .H5  <title>Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)</title>
  {font-size:10.0pt;  
  font-family:"Times New Roman";  <style><!--
  layout-grid-mode:line;  
  font-weight:bold;}  .MsoHeader
 .Section1  
  {page:Section1;}   {tab-stops:center 3.0in right 6.0in;
 .Section2  
  {page:Section2;}   font-size:10.0pt;
 -->  
 </style>   font-family:"Times New Roman";}
 </head>  
 <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>  .H5
 <div class=Section1>  
   <h2>Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)</h2>   {font-size:10.0pt;
   <h3><a name="_Toc421867127">Tags</a></h3>  
   <ul type=disc>   font-family:"Times New Roman";
     <li><b>Response tags </b></li>  
   </ul>   layout-grid-mode:line;
   <p>Arguments for all response tags </p>  
   <ul type=disc>   font-weight:bold;}
     <ul type=circle>  
       <li><i>ID</i><span style='font-style:  .Section1
       normal'>, if this isn't set it will be set during the publication step.  
         It is used to assign parameters names in a way that can be tracked if   {page:Section1;}
         an instructor modifies things by hand. </span></li>  
       <li><i>name</i><span  .Section2
       style='font-style:normal'> optional, if set, it will be used by the resource  
         assembly tool when one is modifying parameters. </span></li>   {page:Section2;}
     </ul>  
   </ul>  -->
   <p>Implemented response tags </p>  
   <ul type=disc>  </style>
     <ul type=circle>  
       <li><b>&lt;responseparam&gt;</b><span  </head>
       style='font-weight:normal'> if it appears it should be inside of a &lt;*response&gt;  
         tag, defines an externally adjustable parameter for this question. Arguments:  <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
         </span></li>  
       <ul type=square>  <div class=Section1> 
         <li><i>default</i><span  
        style='font-style:normal'> required, specifies a default value for the    <h2>Session One: Problem Engine/Special Targets (grade, edit, print) (Guy)</h2>
           parameter </span></li>  
         <li><i>name</i><span    <h3><a name="_Toc421867127">Tags</a></h3>
        style='font-style:normal'> required, specifies an internal name for the  
           parameter </span></li>    <ul type=disc>
         <li><i>type</i><span  
        style='font-style:normal'> required specifies the type of parameter, one      <li><b>Response tags </b></li>
           of &quot;tolerance&quot;, &quot;int&quot;, &quot;float&quot;, &quot;string&quot;,  
           &quot;date&quot; (configuration of paramters is handled by lonparmset.pm    </ul>
           and parameter.html) </span></li>  
         <li><i>description</i><span    <p>Arguments for all response tags </p>
        style='font-style:normal'> a string describing the parameter, this is what  
           is used to talk about a parameter outside of a problem </span></li>    <ul type=disc>
       </ul>  
       <li><b>&lt;parameter&gt;</b><span      <ul type=circle>
       style='font-weight:normal'> exactly the same as &lt;responseparam&gt; currently,  
         but should not appear inside of a &lt;*response&gt; </span></li>        <li><i>ID</i><span style='font-style:
       <li><b>&lt;numericalresponse&gt;</b><span  
       style='font-weight:normal'> implements a numerical answer, it needs an internal        normal'>, if this isn't set it will be set during the publication step. 
         </span><b>&lt;textline&gt;</b><span style='font-weight:normal'> for the  
         response to go in. It checks all styles of numerical supported in CAPA.          It is used to assign parameters names in a way that can be tracked if 
         Possible args are: </span></li>  
       <ul type=square>          an instructor modifies things by hand. </span></li>
         <li><i>answer</i><span  
        style='font-style:normal'> required, specifies the correct answer, may        <li><i>name</i><span
           be either a perl list or scalar</span></li>  
         <li><i>units</i><span        style='font-style:normal'> optional, if set, it will be used by the resource 
        style='font-style:normal'> optional, specifies unit of correct answer,  
           CAPA style</span></li>          assembly tool when one is modifying parameters. </span></li>
       </ul>  
       <li><b>&lt;stringresponse&gt;</b><span      </ul>
       style='font-weight:normal'> implements a string answer, it needs an internal  
         </span><b>&lt;textline&gt;</b><span style='font-weight:normal'> for the    </ul>
         response to go in. It can check the string for either case or order. </span></li>  
       <ul type=square>    <p>Implemented response tags </p>
         <li><i>answer</i><span  
        style='font-style:normal'> required, specifies the correct answer, may    <ul type=disc>
           be either a perl list or scalar</span></li>  
         <li><i>type</i><span      <ul type=circle>
        style='font-style:normal'> optional, CAPA style str args, cs/ci/mc </span></li>  
         <ul type=square>        <li><b>&lt;responseparam&gt;</b><span
           <li>cs - case senesitive, order important</li>  
           <li>ci - case insenesitive, order important</li>        style='font-weight:normal'> if it appears it should be inside of a &lt;*response&gt; 
           <li>mc - case insenesitive, order unimportant</li>  
         </ul>          tag, defines an externally adjustable parameter for this question. Arguments: 
       </ul>  
       <li><b>&lt;essayresponse&gt;</b><span          </span></li>
       style='font-weight:normal'> implements a ungraded large text response, it  
         need an internal </span><b>&lt;textarea&gt;</b><span style='font-weight:        <ul type=square>
       normal'> for the response to go in. </span></li>  
       <li><b>&lt;imageresponse&gt;</b><span          <li><i>default</i><span
       style='font-weight:normal'> implements a image click style image submission,  
         uses the foil structure tags <a href="#foil">below</a>. Additional tags         style='font-style:normal'> required, specifies a default value for the 
         that should appear in a &lt;foil&gt; are: </span></li>  
       <ul type=square>            parameter </span></li>
         <li><b>&lt;image&gt;</b><span  
        style='font-weight:normal'> required, the contained text specifies a published          <li><i>name</i><span
           graphical resource that is the image used, should only appear once per  
           foil</span></li>         style='font-style:normal'> required, specifies an internal name for the 
         <li><b>&lt;rectangle&gt;</b><span  
        style='font-weight:normal'> required, the contained text specifies a rectangular            parameter </span></li>
           area that is correct, should look like (1,2)-(3,4), at least 1 required</span></li>  
         <li><b>&lt;text&gt;</b><span          <li><i>type</i><span
        style='font-weight:normal'> required, the contained text is printed on  
           top of the image.</span></li>         style='font-style:normal'> required specifies the type of parameter, one 
       </ul>  
       <li><b>&lt;optionresponse&gt;</b><span            of &quot;tolerance&quot;, &quot;int&quot;, &quot;float&quot;, &quot;string&quot;, 
       style='font-weight:normal'> implements a &quot;select from these choices&quot;  
         style question, the choices are specified by the instructor, it uses the            &quot;date&quot; (configuration of paramters is handled by lonparmset.pm 
         foil structure tags <a href="#foil">below</a> with this additional args:  
         </span></li>            and parameter.html) </span></li>
       <ul type=square>  
         <li><b>&lt;foilgroup&gt;</b><span          <li><i>description</i><span
        style='font-weight:normal'> is required to have <i>options</i></span> which  
           should be a perl list of possible options for the student. </li>         style='font-style:normal'> a string describing the parameter, this is what 
       </ul>  
       <li><b>&lt;radiobuttonresponse&gt;</b><span            is used to talk about a parameter outside of a problem </span></li>
       style='font-weight:normal'> implements a true / false style question with  
         1 correct answer.it uses the foil structure tags <a href="#foil">below</a>        </ul>
         but the <i>value</i></span> of a &lt;foil&gt;can only be &quot;true&quot;  
         or &quot;false&quot; or &quot;unused&quot; </li>        <li><b>&lt;parameter&gt;</b><span
       <li><b>&lt;dataresponse&gt;</b><span  
       style='font-weight:normal'> implements a straight data storage entry idea,        style='font-weight:normal'> exactly the same as &lt;responseparam&gt; currently, 
         needs and interveing input tag like &lt;textline&gt; to work correctly.<br>  
         Arguments: </span></li>          but should not appear inside of a &lt;*response&gt; </span></li>
       <ul type=square>  
         <li><i>name</i><span        <li><b>&lt;numericalresponse&gt;</b><span
        style='font-style:normal'> internal name for the value, it will have the  
           part id and respose id added on to it </span></li>        style='font-weight:normal'> implements a numerical answer, it needs an internal 
         <li><i>type</i><span  
        style='font-style:normal'> type of data stored in this response field,          </span><b>&lt;textline&gt;</b><span style='font-weight:normal'> for the 
           should be one of the types supported by parameter.html </span></li>  
         <li><i>display</i><span          response to go in. It checks all styles of numerical supported in CAPA. 
        style='font-style:normal'> a string that will be used to describe the field  
           when interfacing with humans </span></li>          Possible args are: </span></li>
       </ul>  
     </ul>        <ul type=square>
   </ul>  
   <p> <span style='font-size:10.0pt;          <li><i>answer</i><span
 font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <b>&lt;externalresponse&gt;</b><span style='font-weight:         style='font-style:normal'> required, specifies the correct answer, may 
 normal'> implements the ability to have an external program grade a response,  
     expects either a &lt;textline&gt; or &lt;textfield&gt; inside the tag. </span></p>            be either a perl list or scalar</span></li>
   <p>Arguments: </p>  
   <ul type=disc>          <li><i>units</i><span
     <ul type=circle>  
       <ul type=square>         style='font-style:normal'> optional, specifies unit of correct answer, 
         <li><i>url</i><span  
        style='font-style:normal'> the url to submit the answer and form to, does            CAPA style</span></li>
           not need to be a LON-CAPA machine. </span></li>  
         <li><i>answer</i><span        </ul>
        style='font-style:normal'> a string or scalar variable that can encode  
           something that should encode the correct answer, in some cases this        <li><b>&lt;stringresponse&gt;</b><span
           may be nothing. </span></li>  
         <li><i>form</i><span        style='font-weight:normal'> implements a string answer, it needs an internal 
        style='font-style:normal'> a hash variable name that will be submitted  
           to the remote site as a HTTP form. </span></li>          </span><b>&lt;textline&gt;</b><span style='font-weight:normal'> for the 
       </ul>  
     </ul>          response to go in. It can check the string for either case or order. </span></li>
   </ul>  
   <p>The response of the remote server needs to be in XML as follows. </p>        <ul type=square>
   <pre>&nbsp;&lt;loncapagrade&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;awardetail&gt; CORRECT&nbsp;&nbsp;&nbsp;&nbsp; &lt;/awardetail&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;message&gt; A message to be shown to the students&nbsp;&nbsp;&nbsp;&nbsp; &lt;/message&gt; &lt;/loncapagrade&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</pre>  
   <ul type=disc>          <li><i>answer</i><span
     <ul type=circle>  
       <ul type=square>         style='font-style:normal'> required, specifies the correct answer, may 
         <li><b>&lt;loncapagrade&gt;</b><span  
        style='font-weight:normal'> no arguments but must surround the response.            be either a perl list or scalar</span></li>
           </span></li>  
         <li><b>&lt;awardetail&gt;</b><span          <li><i>type</i><span
        style='font-weight:normal'> required inner tag, the response inside must  
           be one of the detailed responses that appears in the data storage documentation         style='font-style:normal'> optional, CAPA style str args, cs/ci/mc </span></li>
           (CVS:loncapa/doce/homework/datastorage) </span></li>  
         <li><b>&lt;message&gt;</b><span          <ul type=square>
        style='font-weight:normal'> optional message to have shown to the student  
           </span></li>            <li>cs - case senesitive, order important</li>
       </ul>  
     </ul>            <li>ci - case insenesitive, order important</li>
   </ul>  
   <ul type=disc>            <li>mc - case insenesitive, order unimportant</li>
     <li><a name=foil><b>Foil Structure Tags</b></a><b> </b></li>  
   </ul>          </ul>
   <p>All tags that implement a foil structure have an optional arg of <i>max</i><span style='font-style:normal'>  
     that controls the maximum number of total foils to show. </span></p>        </ul>
   <ul type=disc>  
     <ul type=circle>        <li><b>&lt;essayresponse&gt;</b><span
       <li><b>&lt;foilgroup&gt;</b><span  
       style='font-weight:normal'> required, must be the tag that surrounds all        style='font-weight:normal'> implements a ungraded large text response, it 
         foil definitions </span></li>  
       <li><b>&lt;foil&gt;</b><span          need an internal </span><b>&lt;textarea&gt;</b><span style='font-weight:
       style='font-weight:normal'> required, all data inside is a possible foil  
         </span></li>        normal'> for the response to go in. </span></li>
       <li><b>&lt;conceptgroup&gt;</b><span  
       style='font-weight:normal'> optional, surrounds a collection of &lt;foil&gt;,        <li><b>&lt;imageresponse&gt;</b><span
         when a problem is displayed only one of the contained &lt;foil&gt;is selected  
         for display. It receives one required argument <i>concept</i></span>.        style='font-weight:normal'> implements a image click style image submission, 
       </li>  
     </ul>          uses the foil structure tags <a href="#foil">below</a>. Additional tags 
     <li><b>Hint structure </b></li>  
   </ul>          that should appear in a &lt;foil&gt; are: </span></li>
   <p>All of these tags must appear inside a <b>&lt;*response&gt;</b><span  
 style='font-weight:normal'> tag. </span></p>        <ul type=square>
   <ul type=disc>  
     <ul type=circle>          <li><b>&lt;image&gt;</b><span
       <li><b>&lt;hintgroup&gt;</b><span  
       style='font-weight:normal'> Tag that surrounds all of a hint. </span></li>         style='font-weight:normal'> required, the contained text specifies a published 
       <li><b>&lt;hintpart&gt;</b><span  
       style='font-weight:normal'> required, Tag to implement conditional hints.            graphical resource that is the image used, should only appear once per 
         It has a required argument <i>on</i></span>. When a &lt;*hint&gt; tag  
         named the same as the value the on attribute evaluates to be correct the            foil</span></li>
         &lt;hintpart&gt; will show. If no other &lt;hintpart&gt; are to show then  
         all hintparts with a <i>on</i><span style='font-style:normal'> of &quot;default&quot;          <li><b>&lt;rectangle&gt;</b><span
         will show </span></li>  
       <li><b>&lt;numericalhint&gt;</b><span         style='font-weight:normal'> required, the contained text specifies a rectangular 
       style='font-weight:normal'> has all the arguments that &lt;numericalresponse&gt;,  
         does and the required attribute <i>name</i></span> which should be set            area that is correct, should look like (1,2)-(3,4), at least 1 required</span></li>
         to the value of which &lt;hintpart&gt; will be shown. </li>  
     </ul>          <li><b>&lt;text&gt;</b><span
     <li><b>Input Tags </b></li>  
   </ul>         style='font-weight:normal'> required, the contained text is printed on 
   <p>This group of tags implement a mechanism for getting data for students, they  
     will usually be used by a &lt;*response&gt;. </p>            top of the image.</span></li>
   <ul type=disc>  
     <ul type=circle>        </ul>
       <li><b>&lt;textarea&gt;</b><span  
       style='font-weight:normal'> creates a Large text input box, If data appears        <li><b>&lt;optionresponse&gt;</b><span
         between the start and end tags, the data will appear i the textarea if  
         the student has not yet made a submission. Additionally it takes two arguments        style='font-weight:normal'> implements a &quot;select from these choices&quot; 
         <i>rows</i></span> and <i>cols</i><span  
       style='font-style:normal'> which control the height and width of the area          style question, the choices are specified by the instructor, it uses the 
         respectively. It defaults to 10 and 80. </span></li>  
       <li><b>&lt;textline&gt;</b><span          foil structure tags <a href="#foil">below</a> with this additional args: 
       style='font-weight:normal'> creates a single line of input element, it accepts  
         1 argument <i>size</i></span> which controls the width on the textline,          </span></li>
         it defaults to 20. </li>  
     </ul>        <ul type=square>
     <li><b>Output Tags </b></li>  
   </ul>          <li><b>&lt;foilgroup&gt;</b><span
   <p>This group of tags generate useful pieces of output. </p>  
   <ul type=disc>         style='font-weight:normal'> is required to have <i>options</i></span> which 
     <ul type=circle>  
       <li><b>&lt;standalone&gt;</b><span            should be a perl list of possible options for the student. </li>
       style='font-weight:normal'> everything in between the start and end tag  
         is shown only on the web, and only if the resource is not part of a course.        </ul>
         </span></li>  
       <li><b>&lt;displayduedate&gt;</b><span        <li><b>&lt;radiobuttonresponse&gt;</b><span
       style='font-weight:normal'> this will insert the current duedate if one  
         is set into the document. It is generated to be inside a table of 1x1        style='font-weight:normal'> implements a true / false style question with 
         elements </span></li>  
       <li><b>&lt;displaytitle&gt;</b><span          1 correct answer.it uses the foil structure tags <a href="#foil">below</a> 
       style='font-weight:normal'> this will insert the title of the problem from  
         the metadata of the problem </span></li>          but the <i>value</i></span> of a &lt;foil&gt;can only be &quot;true&quot; 
       <li><b>&lt;window&gt;</b><span  
       style='font-weight:normal'> the text in between is put in a popup javascript          or &quot;false&quot; or &quot;unused&quot; </li>
         window </span></li>  
       <li><b>&lt;m&gt;</b><span        <li><b>&lt;dataresponse&gt;</b><span
       style='font-weight:normal'> the inside text is LaTeX, and is converted to  
         HTML (or MathML) on the fly, if the argument <i>eval</i></span> is set        style='font-weight:normal'> implements a straight data storage entry idea, 
         to &quot;on&quot; the intervening text will have a perl var expansion  
         done to it before being converted. </li>          needs and interveing input tag like &lt;textline&gt; to work correctly.<br>
       <li><b>&lt;randomlabel&gt;</b><span  
       style='font-weight:normal'> shows a specified image with images or text          Arguments: </span></li>
         labels randomly assigned to a set of specific locations, those locations  
         may also have values assigned to them. There is a hash generated conating        <ul type=square>
         the mapping of labels to locations, labels to values, and locations to  
         values. Example: </span></li>          <li><i>name</i><span
     </ul>  
   </ul>         style='font-style:normal'> internal name for the value, it will have the 
   <pre>&nbsp; &lt;randomlabel bgimg=&quot;URL&quot; width=&quot;12&quot; height=&quot;45&quot; texwidth=&quot;50&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;labelgroup name=&quot;GroupOne&quot; type=&quot;image&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;123&quot; y=&quot;456&quot; value=&quot;10&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;321&quot; y=&quot;654&quot; value=&quot;20&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;213&quot; y=&quot;546&quot; value=&quot;13&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-1&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-2&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-3&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/labelgroup&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;labelgroup name=&quot;GroupTwo&quot; type=&quot;text&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;12&quot; y=&quot;45&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;32&quot; y=&quot;65&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;21&quot; y=&quot;54&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-1&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-2&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-3&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/labelgroup&gt;&nbsp;&nbsp;&nbsp; &lt;/randomlabel&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</pre>  
   <p>Arguments: </p>            part id and respose id added on to it </span></li>
   <ul type=disc>  
     <ul type=circle>          <li><i>type</i><span
       <ul type=square>  
         <li><i>bgimg</i><span         style='font-style:normal'> type of data stored in this response field, 
        style='font-style:normal'> either a fully qualified URL for an external  
           image, or a loncapa resource, it supports relative references (../images/apicture.gif),            should be one of the types supported by parameter.html </span></li>
           the image must either be a GIF or JPEG </span></li>  
         <li><i>width</i><span          <li><i>display</i><span
        style='font-style:normal'> the width of the image in pixels </span></li>  
         <li><i>height</i><span         style='font-style:normal'> a string that will be used to describe the field 
        style='font-style:normal'> the height of the image in pixels </span></li>  
         <li><i>texwidth</i><span            when interfacing with humans </span></li>
        style='font-style:normal'> the width of the image in millimeters </span></li>  
       </ul>        </ul>
     </ul>  
   </ul>      </ul>
   <p>Internal tags: </p>  
   <ul type=disc>    </ul>
     <ul type=circle>  
       <ul type=square>    <p> <span style='font-size:10.0pt;
         <li><b>&lt;labelgroup&gt;</b><span  
        style='font-weight:normal'> 1 required, multiple allowed. Declares a group  font-family:"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
           of locations and labels associated with them. <br>  
           Arguments: </span></li>      </span></span> <b>&lt;externalresponse&gt;</b><span style='font-weight:
         <ul type=square>  
           <li><i>name</i><span  normal'> implements the ability to have an external program grade a response, 
         style='font-style:normal'> this is the name of the group, a hash with  
             this name will be generated holding the mappings for later use in      expects either a &lt;textline&gt; or &lt;textfield&gt; inside the tag. </span></p>
             the problem. For each location a value will be set for which label  
             is there, (EX. $hash{'1'}=&quot;TEXT-2&quot;). For locations with    <p>Arguments: </p>
             values the hash will contain 2 items, a location to value mapping  
             ($hash{'value_1'}=10), and a label to value mapping ($hash{'labelvalue_2'}=10).    <ul type=disc>
             For all image style of labels there will also be a label description  
             to label URL mapping ($hash{'image_2'}=IMG-URL). Also the entry 'numlocations      <ul type=circle>
             will be set to the total number of locations that exist. (Note that  
             locations and labels start counting from 1.) </span></li>        <ul type=square>
           <li><i>type</i><span  
         style='font-style:normal'> the type of labels in this group, either 'image'          <li><i>url</i><span
             or 'text' </span></li>  
         </ul>         style='font-style:normal'> the url to submit the answer and form to, does 
         <li><b>&lt;location&gt;</b><span  
        style='font-weight:normal'> declares a location on the image that a label            not need to be a LON-CAPA machine. </span></li>
           should appear at <br>  
           Arguments: </span></li>          <li><i>answer</i><span
         <ul type=square>  
           <li><i>x</i><span         style='font-style:normal'> a string or scalar variable that can encode 
         style='font-style:normal'> the x value of the location in pixels </span></li>  
           <li><i>y</i><span            something that should encode the correct answer, in some cases this 
         style='font-style:normal'> the y value of the location in pixels </span></li>  
           <li><i>value</i><span            may be nothing. </span></li>
         style='font-style:normal'> a scalar value to associate at this location  
             (optional) </span></li>          <li><i>form</i><span
         </ul>  
         <li><b>&lt;label&gt;</b><span         style='font-style:normal'> a hash variable name that will be submitted 
        style='font-weight:normal'> declaration of a label, if this is a text type  
           labelgroup the internal text should be the text of the label (HTML is            to the remote site as a HTTP form. </span></li>
           not currently supported), if this is an image type of label the internal  
           text must be a LON-CAPA resource specification, and the description        </ul>
           filed must be set. <br>  
           Arguments: </span></li>      </ul>
         <ul type=square>  
           <li><i>description</i><span    </ul>
         style='font-style:normal'> a required field for image labels, it will  
             be used when setting values in the hash. </span></li>    <p>The response of the remote server needs to be in XML as follows. </p>
         </ul>  
       </ul>    <pre>&nbsp;&lt;loncapagrade&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;awardetail&gt; CORRECT&nbsp;&nbsp;&nbsp;&nbsp; &lt;/awardetail&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;message&gt; A message to be shown to the students&nbsp;&nbsp;&nbsp;&nbsp; &lt;/message&gt; &lt;/loncapagrade&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</pre>
     </ul>  
     <li><b>Scripting </b></li>    <ul type=disc>
   </ul>  
   <p>These tags allow the document to behave programatically </p>      <ul type=circle>
   <ul type=disc>  
     <ul type=circle>        <ul type=square>
       <li><b>&lt;display&gt;</b><span  
       style='font-weight:normal'> the intervening perl script is evaluated in          <li><b>&lt;loncapagrade&gt;</b><span
         the safe space and the return value of the script replaces the entire  
         tag </span></li>         style='font-weight:normal'> no arguments but must surround the response. 
       <li><b>&lt;import&gt;</b><span  
       style='font-weight:normal'> causes the parse to read in the file named in            </span></li>
         the body of the tag and parse it as if the entire text of the file had  
         existed at location of the tag </span></li>          <li><b>&lt;awardetail&gt;</b><span
       <li><b>&lt;parserlib&gt;</b><span  
       style='font-weight:normal'> the enclosed filename contains definitions for         style='font-weight:normal'> required inner tag, the response inside must 
         new tags </span></li>  
       <li><b>&lt;script&gt;</b><span            be one of the detailed responses that appears in the data storage documentation 
       style='font-weight:normal'> if the argument <i>type</i></span> is set to  
         &quot;loncapa/perl&quot; the enclosed data is a perl script which is evaluated            (CVS:loncapa/doce/homework/datastorage) </span></li>
         inside the perl Safe space. The return value of the script is ignored.  
       </li>          <li><b>&lt;message&gt;</b><span
       <li><b>&lt;scriptlib&gt;</b><span  
       style='font-weight:normal'> the enclosed filename contains perl code to         style='font-weight:normal'> optional message to have shown to the student 
         run in the safe space </span></li>  
       <li><b>&lt;block&gt;</b><span            </span></li>
       style='font-weight:normal'> has a required argument <i>condition</i></span>  
         that is evaluated, it the condition is true everything inside the tag        </ul>
         is evaluated, if it is false everything inside the block tag is skipped  
       </li>      </ul>
       <li><b>&lt;notsolved&gt;</b><span  
       style='font-weight:normal'> everything inside the tag is skipped if the    </ul>
         problem is &quot;solved&quot; </span></li>  
       <li><b>&lt;postanswerdate&gt;</b><span    <ul type=disc>
       style='font-weight:normal'> everything inside the tag is skipped if the  
         problem is before the answer date </span></li>      <li><a name=foil><b>Foil Structure Tags</b></a><b> </b></li>
       <li><b>&lt;preduedate&gt;</b><span  
       style='font-weight:normal'> everything inside the tag is skipped if the    </ul>
         problem is after the due date </span></li>  
       <li><b>&lt;randomlist&gt;</b><span    <p>All tags that implement a foil structure have an optional arg of <i>max</i><span style='font-style:normal'> 
       style='font-weight:normal'> the enclosed tags are parsed in a stable random  
         order, optional argument <i>show</i></span> restricts the number of tags      that controls the maximum number of total foils to show. </span></p>
         indie that are actually parsed the no more than <i>show</i><span  
       style='font-style:normal'>. </span></li>    <ul type=disc>
       <li><b>&lt;solved&gt;</b><span  
       style='font-weight:normal'> everything inside the tag is skipped if the      <ul type=circle>
         problem is &quot;not solved&quot; </span></li>  
       <li><b>&lt;while&gt;</b><span        <li><b>&lt;foilgroup&gt;</b><span
       style='font-weight:normal'> implements a while loop, required argument <i>condition</i></span>  
         is a perl scriptlet that when evaluated results in a true or false value,        style='font-weight:normal'> required, must be the tag that surrounds all 
         on true the entirety of the text between the whiles is parsed. The condition  
         is tested again, etc. If false it goes to the next node in the parse.          foil definitions </span></li>
       </li>  
     </ul>        <li><b>&lt;foil&gt;</b><span
     <li><b>Structure Tags </b></li>  
   </ul>        style='font-weight:normal'> required, all data inside is a possible foil 
   <p>These tags give the problem a structure and take care of the recording of  
     data and giving the student messages. </p>          </span></li>
   <ul type=disc>  
     <ul type=circle>        <li><b>&lt;conceptgroup&gt;</b><span
       <li><b>&lt;problem&gt;</b><span  
       style='font-weight:normal'> must be the first tag in the file, this tag        style='font-weight:normal'> optional, surrounds a collection of &lt;foil&gt;, 
         sets up the header of the webpage and generates the submit buttons, it  
         also handles due dates properly </span></li>          when a problem is displayed only one of the contained &lt;foil&gt;is selected 
       <li><b>&lt;part&gt;</b><span  
       style='font-weight:normal'> must be below &lt;problem&gt; if it is going          for display. It receives one required argument <i>concept</i></span>. 
         to be used. It does many of the same tasks as &lt;problem&gt; but allows  
         multiple separate problems to exist in a single file. </span></li>        </li>
       <li><b>&lt;startouttext&gt;&lt;endouttext&gt;</b><span  
       style='font-weight:normal'> these tags are somewhat special, they must have      </ul>
         no internal text and occur in pairs. Their use is to mark up the problem  
         so the web editor knows what sections should be edited in a plain text      <li><b>Hint structure </b></li>
         block on the web. </span></li>  
     </ul>    </ul>
   </ul>  
   <h3><a name="_Toc421867128">&lt;script&gt; Functions</a></h3>    <p>All of these tags must appear inside a <b>&lt;*response&gt;</b><span
   <p>A list of functions that have been written that are available in the Safe  
     space scripting environment inside a problem. </p>  style='font-weight:normal'> tag. </span></p>
   <ul type=disc>  
     <li>sin(x), cos(x), tan(x)</li>    <ul type=disc>
     <li>asin(x), acos(x), atan(x), atan2(y,x)</li>  
     <li>log(x), log10(x)</li>      <ul type=circle>
     <li>exp(), pow(x,y), sqrt(x)</li>  
     <li>abs(x), sgn(x)</li>        <li><b>&lt;hintgroup&gt;</b><span
     <li>erf(x), erfc(x)</li>  
     <li>ceil(x), floor(x)</li>        style='font-weight:normal'> Tag that surrounds all of a hint. </span></li>
     <li>min(...), max(...)</li>  
     <li>factorial(n)</li>        <li><b>&lt;hintpart&gt;</b><span
     <li>N%M</li>  
     <li>sinh(x), cosh(x), tanh(x)</li>        style='font-weight:normal'> required, Tag to implement conditional hints. 
     <li>asinh(x), acosh(x), atanh(x)</li>  
     <li>roundto(x,n)</li>          It has a required argument <i>on</i></span>. When a &lt;*hint&gt; tag 
     <li>web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;) or web(a,b,c)</li>  
     <li>html(&quot;a&quot;) or html(a)</li>          named the same as the value the on attribute evaluates to be correct the 
     <li>j0(x), j1(x), jn(n,x), jv(y,x)</li>  
     <li>y0(x), y1(x), yn(n,x), yv(y,x)</li>          &lt;hintpart&gt; will show. If no other &lt;hintpart&gt; are to show then 
     <li>random</li>  
     <li>choose</li>          all hintparts with a <i>on</i><span style='font-style:normal'> of &quot;default&quot; 
     <li>tex(&quot;a&quot;,&quot;b&quot;) or tex(a,b)</li>  
     <li>var_in_tex(a)</li>          will show </span></li>
     <li>to_string(x), to_string(x,y)</li>  
     <li>class(), section()</li>        <li><b>&lt;numericalhint&gt;</b><span
     <li>name(), student_number()</li>  
     <li>open_date(), due_date(), answer_date()</li>        style='font-weight:normal'> has all the arguments that &lt;numericalresponse&gt;, 
     <li>sub_string()</li>  
     <li>array_moments(array)</li>          does and the required attribute <i>name</i></span> which should be set 
     <li>format(x,y),prettyprint(x,y)</li>  
     <li>map(...)</li>          to the value of which &lt;hintpart&gt; will be shown. </li>
     <li>caparesponse_check</li>  
     <li>caparesponse_check_list</li>      </ul>
   </ul>  
   <h3><a name="_Toc421867129">Detailed descriptions of each function and comparison      <li><b>Input Tags </b></li>
     with CAPA</a></h3>  
   <table border=1 cellpadding=0>    </ul>
     <tr>  
       <td width=131 valign=top class="Normal"> <p><b>CAPA Functions</b></p></td>    <p>This group of tags implement a mechanism for getting data for students, they 
       <td width=134 valign=top class="Normal"> <p><b>LON-CAPA</b></p></td>  
       <td width=147 valign=top class="Normal"> <p><b>Descriptions</b></p></td>      will usually be used by a &lt;*response&gt;. </p>
       <td width=101 valign=top class="Normal"> <p><b>Differences (if any)</b></p></td>  
     </tr>    <ul type=disc>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>sin(x), cos(x), tan(x)</p></td>      <ul type=circle>
       <td width=134 valign=top class="Normal"> <p>&amp;sin($x), &amp;cos($x),  
           &amp;tan($x)</p></td>        <li><b>&lt;textarea&gt;</b><span
       <td width=147 valign=top class="Normal"> <p>Trigonometric functions where  
           x is in radians. $x can be a pure number, i.e., you can call &amp;sin(3.1415)</p></td>        style='font-weight:normal'> creates a Large text input box, If data appears 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>          between the start and end tags, the data will appear i the textarea if 
     <tr>  
       <td width=131 valign=top class="Normal"> <p>asin(x), acos(x), atan(x), atan2(y,x)</p></td>          the student has not yet made a submission. Additionally it takes two arguments 
       <td width=134 valign=top class="Normal"> <p>&amp;asin($x), &amp;acos($x),  
           &amp;atan($x), &amp;atan2($y,$x)</p></td>          <i>rows</i></span> and <i>cols</i><span
       <td width=147 valign=top class="Normal"> <p>Inverse trigonometric functions.  
           Return value is in radians. For asin and acos the value of x must be        style='font-style:normal'> which control the height and width of the area 
           between -1 and 1. The atan2 returns a value between -pi and pi the sign  
           of which is determined by y. $x and $y can be pure numbers</p></td>          respectively. It defaults to 10 and 80. </span></li>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>        <li><b>&lt;textline&gt;</b><span
     <tr>  
       <td width=131 valign=top class="Normal"> <p>log(x), log10(x)</p></td>        style='font-weight:normal'> creates a single line of input element, it accepts 
       <td width=134 valign=top class="Normal"> <p>&amp;log($x), &amp;log10($x)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Natural and base-10 logarithm.          1 argument <i>size</i></span> which controls the width on the textline, 
           $x can be a pure number</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>          it defaults to 20. </li>
     </tr>  
     <tr>      </ul>
       <td width=131 valign=top class="Normal"> <p>exp(x), pow(x,y), sqrt(x)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;exp($x), &amp;pow($x,$y),      <li><b>Output Tags </b></li>
           &amp;sqrt($x)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Exponential, power and square    </ul>
           root, i.e.,e<sup>x</sup>, x<sup>y</sup> and /x. $x and $y can be pure  
           numbers</p></td>    <p>This group of tags generate useful pieces of output. </p>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>    <ul type=disc>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>abs(x), sgn(x)</p></td>      <ul type=circle>
       <td width=134 valign=top class="Normal"> <p>&amp;abs($x), &amp;sgn($x)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Abs takes the absolute value        <li><b>&lt;standalone&gt;</b><span
           of x while sgn(x) returns 1, 0 or -1 depending on the value of x. For  
           x&gt;0, sgn(x) = 1, for x=0, sgn(x) = 0 and for x&lt;0, sgn(x) = -1.        style='font-weight:normal'> everything in between the start and end tag 
           $x can be a pure number</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>          is shown only on the web, and only if the resource is not part of a course. 
     </tr>  
     <tr>          </span></li>
       <td width=131 valign=top class="Normal"> <p>erf(x), erfc(x)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;erf($x), &amp;erfc($x)</p></td>        <li><b>&lt;displayduedate&gt;</b><span
       <td width=147 valign=top class="Normal"> <p>Error function.&nbsp; erf =  
           2/sqrt(pi) integral (0,x) e<sup>t-sq</sup> and <i>erfx(x)</i><span style='font-style:normal'>        style='font-weight:normal'> this will insert the current duedate if one 
           = 1.0 - </span><i>erf(x)</i><span  
   style='font-style:normal'>.&nbsp; $x can be a pure number</span></p></td>          is set into the document. It is generated to be inside a table of 1x1 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>          elements </span></li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>ceil(x), floor(x)</p></td>        <li><b>&lt;displaytitle&gt;</b><span
       <td width=134 valign=top class="Normal"> <p>&amp;ceil($x), &amp;floor($x)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Ceil function returns an integer        style='font-weight:normal'> this will insert the title of the problem from 
           rounded up whereas floor function returns and integer rounded down.  
           If x is an integer than it returns the value of the integer. $x can          the metadata of the problem </span></li>
           be a pure number</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>        <li><b>&lt;window&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> the text in between is put in a popup javascript 
       <td width=131 valign=top class="Normal"> <p>min(...), max(...)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;min(...), &amp;max(...)</p></td>          window </span></li>
       <td width=147 valign=top class="Normal"> <p>Returns the minimum/ maximum  
           value of a list of arguments if the arguments are numbers. If the arguments        <li><b>&lt;m&gt;</b><span
           are strings then it returns a string sorted according to the ASCII codes</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>        style='font-weight:normal'> the inside text is LaTeX, and is converted to 
     </tr>  
     <tr>          HTML (or MathML) on the fly, if the argument <i>eval</i></span> is set 
       <td width=131 valign=top class="Normal"> <p>factorial(n)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;factorial($n)</p></td>          to &quot;on&quot; the intervening text will have a perl var expansion 
       <td width=147 valign=top class="Normal"> <p>Argument (n) must be an integer  
           else it will round down. The largest value for n is 170. $n can be a          done to it before being converted. </li>
           pure number</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>        <li><b>&lt;randomlabel&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> shows a specified image with images or text 
       <td width=131 valign=top class="Normal"> <p>N%M</p></td>  
       <td width=134 valign=top class="Normal"> <p>$N%$M</p></td>          labels randomly assigned to a set of specific locations, those locations 
       <td width=147 valign=top class="Normal"> <p>N and M are integers and returns  
           the remainder (in integer) of N/M. $N and $M can be pure numbers</p></td>          may also have values assigned to them. There is a hash generated conating 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>          the mapping of labels to locations, labels to values, and locations to 
     <tr>  
       <td width=131 valign=top class="Normal"> <p>sinh(x), cosh(x), tanh(x)</p></td>          values. Example: </span></li>
       <td width=134 valign=top class="Normal"> <p>&amp;sinh($x), &amp;cosh($x),  
           &amp;tanh($x)</p></td>      </ul>
       <td width=147 valign=top class="Normal"> <p>Hyperbolic functions. $x can  
           be a pure number</p></td>    </ul>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>    <pre>&nbsp; &lt;randomlabel bgimg=&quot;URL&quot; width=&quot;12&quot; height=&quot;45&quot; texwidth=&quot;50&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;labelgroup name=&quot;GroupOne&quot; type=&quot;image&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;123&quot; y=&quot;456&quot; value=&quot;10&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;321&quot; y=&quot;654&quot; value=&quot;20&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;213&quot; y=&quot;546&quot; value=&quot;13&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-1&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-2&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label description=&quot;TEXT-3&quot;&gt;IMG-URL&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/labelgroup&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;labelgroup name=&quot;GroupTwo&quot; type=&quot;text&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;12&quot; y=&quot;45&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;32&quot; y=&quot;65&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location x=&quot;21&quot; y=&quot;54&quot; /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-1&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-2&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label&gt;TEXT-3&lt;/label&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/labelgroup&gt;&nbsp;&nbsp;&nbsp; &lt;/randomlabel&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</pre>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>asinh(x), acosh(x), atanh(x)</p></td>    <p>Arguments: </p>
       <td width=134 valign=top class="Normal"> <p>&amp;asinh($x), &amp;acosh($x),  
           &amp;atanh($x)</p></td>    <ul type=disc>
       <td width=147 valign=top class="Normal"> <p>Inverse hyperbolic functions.  
           $x can be a pure number</p></td>      <ul type=circle>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>        <ul type=square>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>/DIS($x,&quot;nn&quot;)</p></td>          <li><i>bgimg</i><span
       <td width=134 valign=top class="Normal"> <p>&amp;format($x,&quot;nn&quot;)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Display or format $x as nn where         style='font-style:normal'> either a fully qualified URL for an external 
           nn is nF or nE and n is an integer.</p></td>  
       <td width=101 valign=top class="Normal"> <p>&nbsp;The difference is obvious.</p></td>            image, or a loncapa resource, it supports relative references (../images/apicture.gif), 
     </tr>  
     <tr>            the image must either be a GIF or JPEG </span></li>
       <td width=131 valign=top class="Normal"> <p>Not in CAPA</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;prettyprint($x,&quot;nn&quot;)</p></td>          <li><i>width</i><span
       <td width=147 valign=top class="Normal"> <p>Display or format $x as nn where  
           nn is nF or nE and n is an integer. In E mode it will attempt to generate         style='font-style:normal'> the width of the image in pixels </span></li>
           a pretty x10^3 rather than a E3 following the number</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>          <li><i>height</i><span
     </tr>  
     <tr>         style='font-style:normal'> the height of the image in pixels </span></li>
       <td width=131 valign=top class="Normal"> <p>roundto(x,n)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;roundto($x,$n)</p></td>          <li><i>texwidth</i><span
       <td width=147 valign=top class="Normal"> <p>Rounds a real number to n decimal  
           points. $x and $n can be pure numbers</p></td>         style='font-style:normal'> the width of the image in millimeters </span></li>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>        </ul>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;)      </ul>
           or web(a,b,c)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;)    </ul>
           or &amp;web($a,$b,$c)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Returns either a, b or c depending    <p>Internal tags: </p>
           on the output medium. a is for plain ASCII, b for tex output and c for  
           html output</p></td>    <ul type=disc>
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>      <ul type=circle>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>html(&quot;a&quot;) or html(a)</p></td>        <ul type=square>
       <td width=134 valign=top class="Normal"> <p>&amp;html(&quot;a&quot;) or  
           &amp;html($a)</p></td>          <li><b>&lt;labelgroup&gt;</b><span
       <td width=147 valign=top class="Normal"> <p>Output only if the output mode  
           chosen is in html format</p></td>         style='font-weight:normal'> 1 required, multiple allowed. Declares a group 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>            of locations and labels associated with them. <br>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>jn(m,x)</p></td>            Arguments: </span></li>
       <td width=134 valign=top class="Normal"> <p>&amp;j0($x), &amp;j1($x), &amp;jn($m,$x),  
           &amp;jv($y,$x)</p></td>          <ul type=square>
       <td width=147 valign=top class="Normal"> <p>Bessel functions of the first  
           kind with orders 0, 1 and m respectively. For jn(m,x), m must be an            <li><i>name</i><span
           integer whereas for jv(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          style='font-style:normal'> this is the name of the group, a hash with 
           real number</p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA, j0, j1 and jn are contained              this name will be generated holding the mappings for later use in 
           in one function, jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x)  
           is new to LON-CAPA.</p></td>              the problem. For each location a value will be set for which label 
     </tr>  
     <tr>              is there, (EX. $hash{'1'}=&quot;TEXT-2&quot;). For locations with 
       <td width=131 valign=top class="Normal"> <p>yn(m,x)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;y0($x), &amp;y1($x), &amp;yn($m,$x),              values the hash will contain 2 items, a location to value mapping 
           &amp;yv($y,$x)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Bessel functions of the second              ($hash{'value_1'}=10), and a label to value mapping ($hash{'labelvalue_2'}=10). 
           kind with orders 0, 1 and m respectively. For yn(m,x), m must be an  
           integer whereas for yv(y,x), y is real. $x can be a pure number. $m              For all image style of labels there will also be a label description 
           must be an integer and can be a pure integer number. $y can be a pure  
           real number</p></td>              to label URL mapping ($hash{'image_2'}=IMG-URL). Also the entry 'numlocations 
       <td width=101 valign=top class="Normal"> <p>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)              will be set to the total number of locations that exist. (Note that 
           is new to LON-CAPA.</p></td>  
     </tr>              locations and labels start counting from 1.) </span></li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>random(l,u,d)</p></td>            <li><i>type</i><span
       <td width=134 valign=top class="Normal"> <p>&amp;random($l,$u,$d)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Returns a uniformly distributed          style='font-style:normal'> the type of labels in this group, either 'image' 
           random number between the lower bound, l and upper bound, u in steps  
           of d. $l, $u and $d can be pure numbers</p></td>              or 'text' </span></li>
       <td width=101 valign=top class="Normal"> <p>In CAPA, all the 3 arguments  
           must be of the same type. However, now you can mix the type</p></td>          </ul>
     </tr>  
     <tr>          <li><b>&lt;location&gt;</b><span
       <td width=131 valign=top class="Normal"> <p>choose(i,...)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;choose($i,...)</p></td>         style='font-weight:normal'> declares a location on the image that a label 
       <td width=147 valign=top class="Normal"> <p>Choose the ith item from the  
           argument list. i must be an integer greater than 0 and the value of            should appear at <br>
           i should not exceed the number of items. $i can be a pure integer</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>            Arguments: </span></li>
     </tr>  
     <tr>          <ul type=square>
       <td width=131 valign=top class="Normal"> <p>/MAP(seed;w,x,y,z;a,b,c,d)</p></td>  
       <td width=134 valign=top class="Normal"> <p>Option 1 - &amp;map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d])            <li><i>x</i><span
           or <br>  
           Option 2 - &amp;map($seed,\@mappedArray,[$a,$b,$c,$d]) <br>          style='font-style:normal'> the x value of the location in pixels </span></li>
           Option 3 - @mappedArray = &amp;map($seed,[$a,$b,$c,$d]) <br>  
           Option 4 - ($w,$x,$y,$z) = &amp;map($seed,\@a) <br>            <li><i>y</i><span
           where $a='A'<br>  
           $b='B'<br>          style='font-style:normal'> the y value of the location in pixels </span></li>
           $c='B'<br>  
           $d='B'<br>            <li><i>value</i><span
           $w, $x, $y, and $z are variables</p></td>  
       <td width=147 valign=top class="Normal"> <p>Assigns to the variables $w,          style='font-style:normal'> a scalar value to associate at this location 
           $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).              (optional) </span></li>
           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          </ul>
           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]          <li><b>&lt;label&gt;</b><span
           =&gt; \@a.</p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA, the arguments are divided         style='font-weight:normal'> declaration of a label, if this is a text type 
           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            labelgroup the internal text should be the text of the label (HTML is 
           (\) before the arguments in the second and third groups.</p></td>  
     </tr>            not currently supported), if this is an image type of label the internal 
     <tr>  
       <td width=131 valign=top class="Normal"> <p>rmap(seed;a,b,c,d;w,x,y,z)</p></td>            text must be a LON-CAPA resource specification, and the description 
       <td width=134 valign=top class="Normal"> <p>Option 1 - &amp;rmap($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d])  
           or <br>            filed must be set. <br>
           Option 2 - &amp;rmap($seed,\@rmappedArray,[$a,$b,$c,$d]) <br>  
           Option 3 - @rmapped_array = &amp;rmap($seed,[$a,$b,$c,$d]) <br>            Arguments: </span></li>
           Option 4 - ($w,$x,$y,$z) = &amp;rmap($seed,\@a) <br>  
           where $a='A'<br>          <ul type=square>
           $b='B'<br>  
           $c='B'<br>            <li><i>description</i><span
           $d='B'<br>  
           $w, $x, $y, and $z are variables</p></td>          style='font-style:normal'> a required field for image labels, it will 
       <td width=147 valign=top class="Normal"> <p>The rmap functions does the  
           reverse action of map if the same seed is used in calling map and rmap.              be used when setting values in the hash. </span></li>
         </p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA, the arguments are divided          </ul>
           into three groups separated by a semicolon ;. In LON-CAPA, the separation  
           is done by using [] brackets (with create an unamed vector reference)        </ul>
           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      </ul>
           rather than the variable values, similar to a C pointer).</p></td>  
     </tr>      <li><b>Scripting </b></li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>    </ul>
       <td width=134 valign=top class="Normal"> <p>$a=&amp;xmlparse($string) </p></td>  
       <td width=147 valign=top class="Normal"> <p>Runs the internal parser over    <p>These tags allow the document to behave programatically </p>
           the argument parsing for display. <b>Warning</b><span style='font-weight:normal'>  
           This will result in different strings in different targets. Don't use    <ul type=disc>
           the results of this function as an answer.</span></p></td>  
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>      <ul type=circle>
     </tr>  
     <tr>        <li><b>&lt;display&gt;</b><span
       <td width=131 valign=top class="Normal"> <p>tex(a,b), tex(&quot;a&quot;,&quot;b&quot;)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;tex($a,$b), &amp;tex(&quot;a&quot;,&quot;b&quot;)</p></td>        style='font-weight:normal'> the intervening perl script is evaluated in 
       <td width=147 valign=top class="Normal"> <p>Returns a if the output mode  
           is in tex otherwise returns b</p></td>          the safe space and the return value of the script replaces the entire 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>          tag </span></li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>var_in_tex(a)</p></td>        <li><b>&lt;import&gt;</b><span
       <td width=134 valign=top class="Normal"> <p>&amp;var_in_tex($a)</p></td>  
       <td width=147 valign=top class="Normal"> <p>Equivalent to tex(&quot;a&quot;,&quot;&quot;)</p></td>        style='font-weight:normal'> causes the parse to read in the file named in 
       <td width=101 valign=top class="Normal">&nbsp; </td>  
     </tr>          the body of the tag and parse it as if the entire text of the file had 
     <tr>  
       <td width=131 valign=top class="Normal"> <p>to_string(x), to_string(x,y)</p></td>          existed at location of the tag </span></li>
       <td width=134 valign=top class="Normal"> <p>&amp;to_string($x), &amp;to_string($x,$y)</p></td>  
       <td width=147 valign=top class="Normal"> <p>If x is an integer, returns        <li><b>&lt;parserlib&gt;</b><span
           a string. If x is real than the output is a string with format given  
           by y. For example, if x = 12.3456, &amp;to_string(x,&quot;.3F&quot;)        style='font-weight:normal'> the enclosed filename contains definitions for 
           = 12.345 and &amp;to_string(x,&quot;.3E&quot;) = 1.234E+01.</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>          new tags </span></li>
     </tr>  
     <tr>        <li><b>&lt;script&gt;</b><span
       <td width=131 valign=top class="Normal"> <p>capa_id(), class(), section(),  
           set(), problem()</p></td>        style='font-weight:normal'> if the argument <i>type</i></span> is set to 
       <td width=134 valign=top class="Normal"> <p>&amp;class(), &amp;section()</p></td>  
       <td width=147 valign=top class="Normal"> <p>Returns null string, class descriptive          &quot;loncapa/perl&quot; the enclosed data is a perl script which is evaluated 
           name, section number, set number and null string.</p></td>  
       <td width=101 valign=top class="Normal"> <p>capa_id(), set() and problem()          inside the perl Safe space. The return value of the script is ignored. 
           are no longer used. Currently, they return a null value.</p></td>  
     </tr>        </li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>name(), student_number()</p></td>        <li><b>&lt;scriptlib&gt;</b><span
       <td width=134 valign=top class="Normal"> <p>&amp;name(), &amp;student_number()</p></td>  
       <td width=147 valign=top class="Normal"> <p>Return the full name in the        style='font-weight:normal'> the enclosed filename contains perl code to 
           following format: lastname, firstname initial. Student_number returns  
           the student 9-alphanumeric string. If undefined, the functions return          run in the safe space </span></li>
           null.</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>        <li><b>&lt;block&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> has a required argument <i>condition</i></span> 
       <td width=131 valign=top class="Normal"> <p>open_date(), due_date(), answer_date()</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;open_date(), &amp;due_date(),          that is evaluated, it the condition is true everything inside the tag 
           &amp;answer_date()</p></td>  
       <td width=147 valign=top class="Normal"> <p>Problem open date, due date          is evaluated, if it is false everything inside the block tag is skipped 
           and answer date. The time is also included in 24-hr format.</p></td>  
       <td width=101 valign=top class="Normal"> <p>Output format for time is changed        </li>
           slightly. If pass noon, it displays ..pm else it displays ..am. So 23:59  
           is displayed as 11:59 pm.</p></td>        <li><b>&lt;notsolved&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> everything inside the tag is skipped if the 
       <td width=131 valign=top class="Normal"> <p>get_seed(), set_seed()</p></td>  
       <td width=134 valign=top class="Normal"> <p>Not implemented</p></td>          problem is &quot;solved&quot; </span></li>
       <td width=147 valign=top class="Normal"> <p>Get and set the random seed.</p></td>  
       <td width=101 valign=top class="Normal">&nbsp; </td>        <li><b>&lt;postanswerdate&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> everything inside the tag is skipped if the 
       <td width=131 valign=top class="Normal"> <p>sub_string(a,b,c)</p></td>  
       <td width=134 valign=top class="Normal"> <p>&amp;sub_string($a,$b,$c) <br>          problem is before the answer date </span></li>
           perl&nbsp; substr function. However, note the differences</p></td>  
       <td width=147 valign=top class="Normal"> <p>Retrieve a portion of string        <li><b>&lt;preduedate&gt;</b><span
           a starting from b and length c. For example,&nbsp; $a = &quot;Welcome  
           to LON-CAPA&quot;; $result=&amp;sub_string($a,4,4); then $result is        style='font-weight:normal'> everything inside the tag is skipped if the 
           &quot;come&quot;</p></td>  
       <td width=101 valign=top class="Normal"> <p>Perl intrinsic function, substr(string,b,c)          problem is after the due date </span></li>
           starts counting from 0 (as opposed to 1). In the example to the left,  
           substr($a,4,4) returns &quot;ome &quot;.</p></td>        <li><b>&lt;randomlist&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> the enclosed tags are parsed in a stable random 
       <td width=131 valign=top class="Normal"> <p>array[xx]</p></td>  
       <td width=134 valign=top class="Normal"> <p>@arrayname <br>          order, optional argument <i>show</i></span> restricts the number of tags 
           Array is intrinsic in perl. To access a specific element use $arrayname[$n]  
           where $n is the $n+1 element since the array count starts from 0</p></td>          indie that are actually parsed the no more than <i>show</i><span
       <td width=147 valign=top class="Normal"> <p>&quot;xx&quot; can be a variable  
           or a calculation.</p></td>        style='font-style:normal'>. </span></li>
       <td width=101 valign=top class="Normal"> <p>In LON-CAPA, an array is defined  
           by @arrayname. It is not necessary to specify the dimension of the array.&nbsp;</p></td>        <li><b>&lt;solved&gt;</b><span
     </tr>  
     <tr>        style='font-weight:normal'> everything inside the tag is skipped if the 
       <td width=131 valign=top class="Normal"> <p>array_moments(B,A)</p></td>  
       <td width=134 valign=top class="Normal"> <p>@B=&amp;array_moments(@A)</p></td>          problem is &quot;not solved&quot; </span></li>
       <td width=147 valign=top class="Normal"> <p>Evaluates the moments of an  
           array A and place the result in array B[i] where i = 0 to 4. The contents        <li><b>&lt;while&gt;</b><span
           of B are as follows: B[0] = number of elements, B[1] = mean, B[2] =  
           variance, B[3] = skewness and B[4] = kurtosis.</p></td>        style='font-weight:normal'> implements a while loop, required argument <i>condition</i></span> 
       <td width=101 valign=top class="Normal"> <p>In CAPA, the moments are passed  
           as an array in the first argument whereas in LON-CAPA, the array containing          is a perl scriptlet that when evaluated results in a true or false value, 
           the moments are set equal to the function.</p></td>  
     </tr>          on true the entirety of the text between the whiles is parsed. The condition 
     <tr>  
       <td width=131 valign=top class="Normal"> <p>array_max(Name), array_min(Name)</p></td>          is tested again, etc. If false it goes to the next node in the parse. 
       <td width=134 valign=top class="Normal"> <p>&amp;min(@Name), &amp;max(@Name)</p></td>  
       <td width=147 valign=top class="Normal"> <p>In LON-CAPA to find the maximum        </li>
           value of an array, use &amp;max(@arrayname)&nbsp; and to find the minimum  
           value of an array, use &amp;min(@arrayname)</p></td>      </ul>
       <td width=101 valign=top class="Normal"> <p>Combined with the min and max  
           functions defined earlier.</p></td>      <li><b>Structure Tags </b></li>
     </tr>  
     <tr>    </ul>
       <td width=131 valign=top class="Normal"> <p>init_array(Name)</p></td>  
       <td width=134 valign=top class="Normal"> <p>undef @name</p></td>    <p>These tags give the problem a structure and take care of the recording of 
       <td width=147 valign=top class="Normal"> <p>To destroy the contents of an  
           array, use</p></td>      data and giving the student messages. </p>
       <td width=101 valign=top class="Normal"> <p>Use perl intrinsic undef function.</p></td>  
     </tr>    <ul type=disc>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>random_normal (return_array,item_cnt,seed,av,std_dev)</p></td>      <ul type=circle>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_normal  
           ($item_cnt,$seed,$av,$std_dev)</p></td>        <li><b>&lt;problem&gt;</b><span
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of normal distribution of average $av and standard deviation $std_dev.        style='font-weight:normal'> must be the first tag in the file, this tag 
           The distribution is generated from seed $seed</p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed          sets up the header of the webpage and generates the submit buttons, it 
           as the first argument whereas in LON-CAPA the results are set equal  
           to the function.</p></td>          also handles due dates properly </span></li>
     </tr>  
     <tr>        <li><b>&lt;part&gt;</b><span
       <td width=131 valign=top class="Normal"> <p>random_beta (return_array,item_cnt,seed,aa,bb)</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_beta        style='font-weight:normal'> must be below &lt;problem&gt; if it is going 
           ($item_cnt,$seed,$aa,$bb) <br>  
           NOTE: Both $aa and $bb MUST be greater than 1.0E-37.</p></td>          to be used. It does many of the same tasks as &lt;problem&gt; but allows 
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of beta distribution. The density of beta is: X^($aa-1) *(1-X)^($bb-1)          multiple separate problems to exist in a single file. </span></li>
           /B($aa,$bb) for 0&lt;X&lt;1.</p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed        <li><b>&lt;startouttext&gt;&lt;endouttext&gt;</b><span
           as the first argument whereas in LON-CAPA the results are set equal  
           to the function.</p></td>        style='font-weight:normal'> these tags are somewhat special, they must have 
     </tr>  
     <tr>          no internal text and occur in pairs. Their use is to mark up the problem 
       <td width=131 valign=top class="Normal"> <p>random_gamma (return_array,item_cnt,seed,a,r)</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_gamma          so the web editor knows what sections should be edited in a plain text 
           ($item_cnt,$seed,$a,$r) <br>  
           NOTE: Both $a and $r MUST be positive.</p></td>          block on the web. </span></li>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of gamma distribution. The density of gamma is: ($a**$r)/gamma($r) *      </ul>
           X**($r-1) * exp(-$a*X).</p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed    </ul>
           as the first argument whereas in LON-CAPA the results are set equal  
           to the function.</p></td>    <h3><a name="_Toc421867128">&lt;script&gt; Functions</a></h3>
     </tr>  
     <tr>    <p>A list of functions that have been written that are available in the Safe 
       <td width=131 valign=top class="Normal"> <p>random_exponential (return_array,item_cnt,seed,av)</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_exponential      space scripting environment inside a problem. </p>
           ($item_cnt,$seed,$av) <br>  
           NOTE: $av MUST be non-negative.</p></td>    <ul type=disc>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of exponential distribution. </p></td>      <li>sin(x), cos(x), tan(x)</li>
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed  
           as the first argument whereas in LON-CAPA the results are set equal      <li>asin(x), acos(x), atan(x), atan2(y,x)</li>
           to the function.</p></td>  
     </tr>      <li>log(x), log10(x)</li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>random_poisson (return_array,item_cnt,seed,mu)</p></td>      <li>exp(), pow(x,y), sqrt(x)</li>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_poisson  
           ($item_cnt,$seed,$mu) <br>      <li>abs(x), sgn(x)</li>
           NOTE: $mu MUST be non-negative.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates      <li>erf(x), erfc(x)</li>
           of poisson distribution. </p></td>  
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed      <li>ceil(x), floor(x)</li>
           as the first argument whereas in LON-CAPA the results are set equal  
           to the function.</p></td>      <li>min(...), max(...)</li>
     </tr>  
     <tr>      <li>factorial(n)</li>
       <td width=131 valign=top class="Normal"> <p>random_chi (return_array,item_cnt,seed,df)</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_chi      <li>N%M</li>
           ($item_cnt,$seed,$df) <br>  
           NOTE: $df MUST be positive.</p></td>      <li>sinh(x), cosh(x), tanh(x)</li>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of chi_square distribution with $df degrees of freedom. </p></td>      <li>asinh(x), acosh(x), atanh(x)</li>
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed  
           as the first argument whereas in LON-CAPA the results are set equal      <li>roundto(x,n)</li>
           to the function.</p></td>  
     </tr>      <li>web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;) or web(a,b,c)</li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>random_noncentral_chi (return_array,item_cnt,seed,df,nonc)</p></td>      <li>html(&quot;a&quot;) or html(a)</li>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_noncentral_chi  
           ($item_cnt,$seed,$df,$nonc) <br>      <li>j0(x), j1(x), jn(n,x), jv(y,x)</li>
           NOTE: $df MUST be at least 1 and $nonc MUST be non-negative.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates      <li>y0(x), y1(x), yn(n,x), yv(y,x)</li>
           of noncentral_chi_square distribution with $df degrees of freedom and  
           noncentrality parameter $nonc. </p></td>      <li>random</li>
       <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed  
           as the first argument whereas in LON-CAPA the results are set equal      <li>choose</li>
           to the function.</p></td>  
     </tr>      <li>tex(&quot;a&quot;,&quot;b&quot;) or tex(a,b)</li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>      <li>var_in_tex(a)</li>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_f  
           ($item_cnt,$seed,$dfn,$dfd) <br>      <li>to_string(x), to_string(x,y)</li>
           NOTE: Both $dfn and $dfd MUST be positive.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates      <li>class(), section()</li>
           of F (variance ratio) distribution with degrees of freedom $dfn (numerator)  
           and $dfd (denominator). </p></td>      <li>name(), student_number()</li>
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>      <li>open_date(), due_date(), answer_date()</li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>      <li>sub_string()</li>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_noncentral_f  
           ($item_cnt,$seed,$dfn,$dfd,$nonc) <br>      <li>array_moments(array)</li>
           NOTE: $dfn must be at least 1, $dfd MUST be positive, and $nonc must  
           be non-negative.</p></td>      <li>format(x,y),prettyprint(x,y)</li>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           of noncentral F (variance ratio) distribution with degrees of freedom      <li>map(...)</li>
           $dfn (numerator) and $dfd (denominator). $nonc is the noncentrality  
           parameter. </p></td>      <li>caparesponse_check</li>
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>      <li>caparesponse_check_list</li>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT DOCUMENTED IN CAPA</p></td>    </ul>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_multivariate_normal  
           ($item_cnt,$seed,\@mean,\@covar) <br>    <h3><a name="_Toc421867129">Detailed descriptions of each function and comparison 
           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      with CAPA</a></h3>
           (i.e. a p by p matrix.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates    <table border=1 cellpadding=0>
           of multivariate_normal distribution with mean vector @mean and variance-covariance  
           matrix. </p></td>      <tr> 
       <td width=101 valign=top class="Normal"> <p>Note the backslash before the  
           @mean and @covar arrays.</p></td>        <td width=131 valign=top class="Normal"> <p><b>CAPA Functions</b></p></td>
     </tr>  
     <tr>        <td width=134 valign=top class="Normal"> <p><b>LON-CAPA</b></p></td>
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_multinomial        <td width=147 valign=top class="Normal"> <p><b>Descriptions</b></p></td>
           ($item_cnt,$seed,@p) <br>  
           NOTE: $item_cnt is rounded with int() and the result must be non-negative.        <td width=101 valign=top class="Normal"> <p><b>Differences (if any)</b></p></td>
           The number of elements in @p must be at least 2.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Returns single observation from      </tr>
           multinomial distribution with $item_cnt events classified into as many  
           categories as the length of @p. The probability of an event being classified      <tr> 
           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        <td width=131 valign=top class="Normal"> <p>sin(x), cos(x), tan(x)</p></td>
           returns the length of @p. The sum of the elements of the obervation  
           is equal to $item_cnt.</p></td>        <td width=134 valign=top class="Normal"> <p>&amp;sin($x), &amp;cos($x), 
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>            &amp;tan($x)</p></td>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>        <td width=147 valign=top class="Normal"> <p>Trigonometric functions where 
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_permutation  
           ($item_cnt,@array) </p></td>            x is in radians. $x can be a pure number, i.e., you can call &amp;sin(3.1415)</p></td>
       <td width=147 valign=top class="Normal"> <p>Returns @array randomly permuted.</p></td>  
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>        <td width=101 valign=top class="Normal">&nbsp; </td>
     </tr>  
     <tr>      </tr>
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_uniform      <tr> 
           ($item_cnt,$seed,$low,$high) <br>  
           NOTE: $low must be less than or equal to $high.</p></td>        <td width=131 valign=top class="Normal"> <p>asin(x), acos(x), atan(x), atan2(y,x)</p></td>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           from a uniform distribution. </p></td>        <td width=134 valign=top class="Normal"> <p>&amp;asin($x), &amp;acos($x), 
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>            &amp;atan($x), &amp;atan2($y,$x)</p></td>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>        <td width=147 valign=top class="Normal"> <p>Inverse trigonometric functions. 
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_uniform_integer  
           ($item_cnt,$seed,$low,$high) <br>            Return value is in radians. For asin and acos the value of x must be 
           NOTE: $low and $high are both passed through int(). $low must be less  
           than or equal to $high.</p></td>            between -1 and 1. The atan2 returns a value between -pi and pi the sign 
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           from a uniform distribution in integers. </p></td>            of which is determined by y. $x and $y can be pure numbers</p></td>
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>        <td width=101 valign=top class="Normal">&nbsp; </td>
     <tr>  
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>      </tr>
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_binomial  
           ($item_cnt,$seed,$nt,$p) <br>      <tr> 
           NOTE: $nt is rounded using int() and the result must be non-negative.  
           $p must be between 0 and 1 inclusive.</p></td>        <td width=131 valign=top class="Normal"> <p>log(x), log10(x)</p></td>
       <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates  
           from the binomial distribution with $nt trials and the probabilty of        <td width=134 valign=top class="Normal"> <p>&amp;log($x), &amp;log10($x)</p></td>
           an event in each trial is $p. </p></td>  
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>        <td width=147 valign=top class="Normal"> <p>Natural and base-10 logarithm. 
     </tr>  
     <tr>            $x can be a pure number</p></td>
       <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>  
       <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_negative_binomial        <td width=101 valign=top class="Normal">&nbsp; </td>
           ($item_cnt,$seed,$ne,$p) <br>  
           NOTE: $ne is rounded using int() and the result must be positive. $p      </tr>
           must be between 0 and 1 exclusive.</p></td>  
       <td width=147 valign=top class="Normal"> <p>Generate an array of $item_cnt      <tr> 
           outcomes generated from negative binomial distribution with $ne events  
           and the probabilty of an event in each trial is $p. </p></td>        <td width=131 valign=top class="Normal"> <p>exp(x), pow(x,y), sqrt(x)</p></td>
       <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>  
     </tr>        <td width=134 valign=top class="Normal"> <p>&amp;exp($x), &amp;pow($x,$y), 
   </table>  
   <h3><a name="_Toc421867130">&lt;script&gt; Variables</a></h3>            &amp;sqrt($x)</p></td>
   <ul type=disc>  
     <li>$external::target - set to the current target the xml parser is parsing        <td width=147 valign=top class="Normal"> <p>Exponential, power and square 
       for </li>  
     <li>$external::part - set to the <i>id</i><span style='font-style:normal'>            root, i.e.,e<sup>x</sup>, x<sup>y</sup> and /x. $x and $y can be pure 
       of the current problem &lt;part&gt;; zero if there are no &lt;part&gt; </span></li>  
     <li>$external::gradestatus - set to the value of the current resource.partid.solved            numbers</p></td>
       value </li>  
     <li>$external::datestatus - set to the current status of the clock either        <td width=101 valign=top class="Normal">&nbsp; </td>
       CLOSED, CAN_ANSWER, CANNOT_ANSWER, SHOW_ANSWER, or UNCHECKEDOUT </li>  
     <li>$external::randomseed - set to the number that was used to seed the random      </tr>
       number generator </li>  
     <li>$pi - set to PI </li>      <tr> 
     <li>$rad2deg - converts radians to degrees </li>  
     <li>$deg2rad - converts degrees to radians </li>        <td width=131 valign=top class="Normal"> <p>abs(x), sgn(x)</p></td>
   </ul>  
   <h3><a name="_Toc421867131">Form internals</a> </h3>        <td width=134 valign=top class="Normal"> <p>&amp;abs($x), &amp;sgn($x)</p></td>
   <p>Form elements used for homework editing/response </p>  
   <p>the form is named lonhomework </p>        <td width=147 valign=top class="Normal"> <p>Abs takes the absolute value 
   <h3><a name="_Toc421867132">Viewing a problem (either CSTR or RES space)</a></h3>  
   <ul type=disc>            of x while sgn(x) returns 1, 0 or -1 depending on the value of x. For 
     <li>grade_target, grade_username, grade_domain, grade_symb - the vaules take  
       precedence over the the normal ENV settings of these, use &amp;Apache::lonxml::whichuser()            x&gt;0, sgn(x) = 1, for x=0, sgn(x) = 0 and for x&lt;0, sgn(x) = -1. 
       to get back the correct vaues of the items </li>  
     <li>HWVAL_response:number - the name of the input elements for each response.            $x can be a pure number</p></td>
       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        <td width=101 valign=top class="Normal">&nbsp; </td>
     </li>  
     <li>changerandseed - the 'Change' button, only exists right after the Change      </tr>
       button is clicked </li>  
     <li>problemmode - in CSTR, it is either 'View','Edit','EditXML' or 'Analyze'      <tr> 
       depending on the desired view </li>  
     <li>rndseed - the currently requested random seed </li>        <td width=131 valign=top class="Normal"> <p>erf(x), erfc(x)</p></td>
     <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        <td width=134 valign=top class="Normal"> <p>&amp;erf($x), &amp;erfc($x)</p></td>
       possible foils </li>  
     <li>submit - the name of the Submit button </li>        <td width=147 valign=top class="Normal"> <p>Error function.&nbsp; erf = 
     <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.            2/sqrt(pi) integral (0,x) e<sup>t-sq</sup> and <i>erfx(x)</i><span style='font-style:normal'> 
     </li>  
   </ul>            = 1.0 - </span><i>erf(x)</i><span
   <h3><a name="_Toc421867133">Editing a problem (Edit mode)</a></h3>  
   <p>tagdepth referes to the current value of the xmlparsers tagdepth couter ($Apache::lonxml::currentdepth)</p>    style='font-style:normal'>.&nbsp; $x can be a pure number</span></p></td>
   <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        <td width=101 valign=top class="Normal">&nbsp; </td>
     these conventions </p>  
   <ul type=disc>      </tr>
     <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>      <tr> 
     <li>delete_tagdepth - if set to yes, delete tag tagdepth and all tags inside  
       of it </li>        <td width=131 valign=top class="Normal"> <p>ceil(x), floor(x)</p></td>
     <li>homework_edit_tagdepth - used by both &amp;Apache::edit::editline and  
       &amp;Apache::edit::editfield for the &lt;textarea&gt; and &lt;input&gt;        <td width=134 valign=top class="Normal"> <p>&amp;ceil($x), &amp;floor($x)</p></td>
       form elements they create </li>  
     <li>insert_tagdepth - used to request an tag insert, it is set to the id number        <td width=147 valign=top class="Normal"> <p>Ceil function returns an integer 
       of the requested tag in the %Apache::lonxml::insertlist </li>  
   </ul>            rounded up whereas floor function returns and integer rounded down. 
   <ul type=disc>  
     <li> &nbsp; </li>            If x is an integer than it returns the value of the integer. $x can 
   </ul>  
   <h3><a name="_Toc421867134">Symbs</a></h3>            be a pure number</p></td>
   <p>To identify a specific instance of a resource, LON-CAPA uses symbols or Òsymbs.Ó  
     These identifiers are built from the URL of the map, the resource number of        <td width=101 valign=top class="Normal">&nbsp; </td>
     the resource in the map, and the URL of the resource itself. The latter is  
     somewhat redundant, but might help if maps change.</p>      </tr>
   <p>An example is</p>  
   <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;msu/korte/parts/part1.sequence___19___msu/korte/tests/part12.problem</span></p>      <tr> 
   <p class=MsoHeader>The respective map entry is</p>  
   <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;&lt;resource        <td width=131 valign=top class="Normal"> <p>min(...), max(...)</p></td>
     id=&quot;19&quot; src=&quot;/res/msu/korte/tests/part12.problem&quot;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></p>        <td width=134 valign=top class="Normal"> <p>&amp;min(...), &amp;max(...)</p></td>
   <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp; title=&quot;Problem  
     2&quot;&gt;</span></p>        <td width=147 valign=top class="Normal"> <p>Returns the minimum/ maximum 
   <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;&lt;/resource&gt;</span></p>  
   <p class=MsoHeader>Symbs are used by the random number generator, as well as            value of a list of arguments if the arguments are numbers. If the arguments 
     to store and restore data specific to a certain instance of for example a  
     problem.</p>            are strings then it returns a string sorted according to the ASCII codes</p></td>
   <h3><a name="_Toc421867135">Store / Restore</a></h3>  
   <p><span style='color:black'>2 important functions in lonnet.pm are </span><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore()</span><span        <td width=101 valign=top class="Normal">&nbsp; </td>
 style='color:black'> and </span><span style='font-family:"Courier New";  
 color:black'>&amp;Apache::lonnet:restore()</span><span style='color:black'> (and      </tr>
     </span><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::store()</span><span  
 style='color:black'>, which is is the non-critical message twin of </span><span      <tr> 
 style='font-family:"Courier New";color:black'>cstore</span><span  
 style='color:black'>). These functions are for handlers to store a perl hash to        <td width=131 valign=top class="Normal"> <p>factorial(n)</p></td>
     a userÕs permanent data space in an easy manner, and to retrieve it again  
     on another call. It is expected that a handler would use this once at the        <td width=134 valign=top class="Normal"> <p>&amp;factorial($n)</p></td>
     beginning to retrieve data, and then again once at the end to send only the  
     new data back. </span></p>        <td width=147 valign=top class="Normal"> <p>Argument (n) must be an integer 
   <p><span style='color:black'>The data is stored in the userÕs data directory  
     on the userÕs homeserver under the ID of the course.</span></p>            else it will round down. The largest value for n is 170. $n can be a 
   <p><span style='color:black'>The hash that is returned by </span><span  
 style='font-family:"Courier New";color:black'>restore</span><span            pure number</p></td>
 style='color:black'> will have all of the previous value for all of the elements  
     of the hash. </span></p>        <td width=101 valign=top class="Normal">&nbsp; </td>
   <p><span style='color:black'>Example: </span></p>  
   <p><span style='font-family:"Courier New";color:black'>#creating a hash</span></p>      </tr>
   <p><span style='font-family:"Courier New";color:black'>my %hash;</span></p>  
   <p><span style='font-family:"Courier New";color:black'>$hash{'foo'}='bar';</span></p>      <tr> 
   <p><span style='font-family:"Courier New";color:black'>#storing it</span></p>  
   <p><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore(\%hash);</span></p>        <td width=131 valign=top class="Normal"> <p>N%M</p></td>
   <p><span style='font-family:"Courier New";color:black'>#changing a value </span></p>  
   <p><span style='font-family:"Courier New";color:black'>$hash{'foo'}='notbar';</span></p>        <td width=134 valign=top class="Normal"> <p>$N%$M</p></td>
   <p><span style='font-family:"Courier New";color:black'>#adding a new value</span></p>  
   <p><span style='font-family:"Courier New";color:black'>$hash{'bar'}='foo';</span></p>        <td width=147 valign=top class="Normal"> <p>N and M are integers and returns 
   <p><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore(\%hash);</span></p>  
   <p><span style='font-family:"Courier New";color:black'>#retrieving the hash</span></p>            the remainder (in integer) of N/M. $N and $M can be pure numbers</p></td>
   <p><span style='font-family:"Courier New";color:black'>my %history=&amp;Apache::lonnet::restore();</span></p>  
   <p><span style='font-family:"Courier New";color:black'>#print the hash</span></p>        <td width=101 valign=top class="Normal">&nbsp; </td>
   <p><span style='font-family:"Courier New";color:black'>foreach my $key (sort(keys(%history)))  
     {</span></p>      </tr>
   <p><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp; print(&quot;\%history{$key}  
     = $history{$key}&quot;);</span></p>      <tr> 
   <p><span style='font-family:"Courier New";color:black'>}</span></p>  
   <p><span style='color:black'>Will print out: </span></p>        <td width=131 valign=top class="Normal"> <p>sinh(x), cosh(x), tanh(x)</p></td>
   <p><span style='font-family:"Courier New";color:black'>%history{1:foo} = bar</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{1:keys} = foo:timestamp</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;sinh($x), &amp;cosh($x), 
   <p><span style='font-family:"Courier New";color:black'>%history{1:timestamp}  
     = 990455579</span></p>            &amp;tanh($x)</p></td>
   <p><span style='font-family:"Courier New";color:black'>%history{2:bar} = foo</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{2:foo} = notbar</span></p>        <td width=147 valign=top class="Normal"> <p>Hyperbolic functions. $x can 
   <p><span style='font-family:"Courier New";color:black'>%history{2:keys} = foo:bar:timestamp</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{2:timestamp}            be a pure number</p></td>
     = 990455580</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{bar} = foo</span></p>        <td width=101 valign=top class="Normal">&nbsp; </td>
   <p><span style='font-family:"Courier New";color:black'>%history{foo} = notbar</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{timestamp} =      </tr>
     990455580</span></p>  
   <p><span style='font-family:"Courier New";color:black'>%history{version} = 2</span></p>      <tr> 
   <p><span style='color:black'>Note that the special hash entries <i>keys</i></span><span style='color:black'>,  
     <i>version</i></span><span        <td width=131 valign=top class="Normal"> <p>asinh(x), acosh(x), atanh(x)</p></td>
 style='color:black'> and <i>timestamp</i></span><span style='color:black'> were  
     added to the hash. <i>version</i></span><span style='color:black'> will be        <td width=134 valign=top class="Normal"> <p>&amp;asinh($x), &amp;acosh($x), 
     equal to the total number of versions of the data that have been stored. The  
     <i>timestamp</i></span><span            &amp;atanh($x)</p></td>
 style='color:black'> attribute will be the UNIX time the hash was stored. <i>keys</i></span><span  
 style='color:black'> is available in every historical section to list which keys        <td width=147 valign=top class="Normal"> <p>Inverse hyperbolic functions. 
     were added or changed at a specific historical revision of a hash. </span></p>  
   <p><span style='color:black'><b>Warning</b></span><span            $x can be a pure number</p></td>
 style='color:black'> do not store the hash that restore returns directly. This  
     will cause a mess since it will restore the historical keys as if the were        <td width=101 valign=top class="Normal">&nbsp; </td>
     new keys. I.E. </span><span style='font-family:"Courier New";color:black'>1:foo</span><span  
 style='color:black'> will become </span><span style='font-family:"Courier New";      </tr>
 color:black'>1:1:foo</span><span style='color:black'> etc. </span></p>  
   <p><span style='color:black'><b>Calling convention: </b></span></p>      <tr> 
   <p><span style='font-size:8.0pt;font-family:"Courier New";  
 color:black'>&nbsp; my %record=&amp;Apache::lonnet::restore($symb,$courseid,$domain,$uname,$home);</span></p>        <td width=131 valign=top class="Normal"> <p>/DIS($x,&quot;nn&quot;)</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New";  
 color:black'>&nbsp; &amp;Apache::lonnet::cstore(\%newrecord,$symb,$courseid,$domain,$uname,$home);</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;format($x,&quot;nn&quot;)</p></td>
   <p><span style='color:black'><b>Arguments (only %newrecord is required the rest  
     are somewhat optional, read the details): </b></span></p>        <td width=147 valign=top class="Normal"> <p>Display or format $x as nn where 
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            nn is nF or nE and n is an integer.</p></td>
     </span></span> <span style='color:black'><i>$symb</i></span><span  
 style='color:black'> - a string containing the internal name of the specific instance        <td width=101 valign=top class="Normal"> <p>&nbsp;The difference is obvious.</p></td>
     of a resource. Usually this value can be gotten from </span><span  
 style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::symbread($filename)</span><span      </tr>
 style='color:black'>. If the argument is blank, it will attempt to use </span><span  
 style='font-family:"Courier New";color:black'>symbread()</span><span      <tr> 
 style='color:black'> for it. If the result is ambiguous store/restore will fail.  
     </span></p>        <td width=131 valign=top class="Normal"> <p>Not in CAPA</p></td>
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>&amp;prettyprint($x,&quot;nn&quot;)</p></td>
     </span></span> <span style='color:black'><i>$courseid</i></span><span  
 style='color:black'> - the internal name for a course, usually found in </span><span        <td width=147 valign=top class="Normal"> <p>Display or format $x as nn where 
 style='font-family:"Courier New";color:black'>$ENV{'request.course.id'}</span><span  
 style='color:black'> which is what will be looked at if no value is passed to            nn is nF or nE and n is an integer. In E mode it will attempt to generate 
     the functions. </span></p>  
   <p> <span style='font-family:Symbol;            a pretty x10^3 rather than a E3 following the number</p></td>
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <span style='color:black'><i>$domain</i></span><span        <td width=101 valign=top class="Normal">&nbsp; </td>
 style='color:black'> - the domain that the user belongs to, usually found in </span><span  
 style='font-family:"Courier New";color:black'>$ENV{'user.domain'}</span><span      </tr>
 style='color:black'> which is what will be looked at if no value is passed to  
     the functions. </span></p>      <tr> 
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>roundto(x,n)</p></td>
     </span></span> <span style='color:black'><i>$uname</i></span><span  
 style='color:black'> - the login name for the user, usually found in </span><span        <td width=134 valign=top class="Normal"> <p>&amp;roundto($x,$n)</p></td>
 style='font-family:"Courier New";color:black'>$ENV{'user.name'}</span><span  
 style='color:black'> which is what will be looked at if no value is passed to        <td width=147 valign=top class="Normal"> <p>Rounds a real number to n decimal 
     the functions. </span></p>  
   <p> <span style='font-family:Symbol;            points. $x and $n can be pure numbers</p></td>
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <span style='color:black'><i>$home</i></span><span        <td width=101 valign=top class="Normal">&nbsp; </td>
 style='color:black'> - the homeserver for the user, usually found in </span><span  
 style='font-family:"Courier New";color:black'>$ENV{'user.home'}</span><span      </tr>
 style='color:black'> but can be easily gotten from a domain and name through </span><span  
 style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::homeserver($uname,$domain)</span><span      <tr> 
 style='color:black'>. If no value is passed to store/restore the value in %ENV  
     will be used. </span></p>        <td width=131 valign=top class="Normal"> <p>web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;) 
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            or web(a,b,c)</p></td>
     </span></span> <span style='color:black'><i>%newrecord</i></span><span  
 style='color:black'> - the hash to store being passed by reference </span></p>        <td width=134 valign=top class="Normal"> <p>&amp;web(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;) 
   <p><span style='color:black'><b>Return values: </b></span></p>  
   <p> <span style='font-family:Symbol;            or &amp;web($a,$b,$c)</p></td>
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <span style='color:black'><i>an empty string</i></span><span        <td width=147 valign=top class="Normal"> <p>Returns either a, b or c depending 
 style='color:black'> - the function was unable to determine exactly where to store  
     or restore from. At least one of the &quot;optional&quot; arguments was unable            on the output medium. a is for plain ASCII, b for tex output and c for 
     to be determined. </span></p>  
   <p> <span style='font-family:Symbol;            html output</p></td>
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <span style='color:black'><i>a hash</i></span><span        <td width=101 valign=top class="Normal">&nbsp; </td>
 style='color:black'> - restore successfully read a old hash for this specific  
     user / resource instance. </span></p>      </tr>
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     </span></span> <span style='color:black'><i>no_such_host</i></span><span  
 style='color:black'> - the <i>$home</i></span><span style='color:black'> specfied        <td width=131 valign=top class="Normal"> <p>html(&quot;a&quot;) or html(a)</p></td>
     desn't exist in the network. </span></p>  
   <p> <span style='font-family:Symbol;        <td width=134 valign=top class="Normal"> <p>&amp;html(&quot;a&quot;) or 
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     </span></span> <span style='color:black'><i>con_delayed</i></span><span            &amp;html($a)</p></td>
 style='color:black'> - the <i>$home</i></span><span style='color:black'> was uncontactable  
     at this time. The store will be delayed until it is again available. </span></p>        <td width=147 valign=top class="Normal"> <p>Output only if the output mode 
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            chosen is in html format</p></td>
     </span></span> <span style='color:black'><i>con_failed</i></span><span  
 style='color:black'> - the <i>$home</i></span><span style='color:black'> was uncontactable        <td width=101 valign=top class="Normal">&nbsp; </td>
     at this time and store was unable to delay the store until a later time. The  
     store failed. </span></p>      </tr>
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     </span></span> <span style='color:black'><i>ok</i></span><span  
 style='color:black'> - the store completed succesfully </span></p>        <td width=131 valign=top class="Normal"> <p>jn(m,x)</p></td>
   <p> <span style='font-family:Symbol;  
 color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>&amp;j0($x), &amp;j1($x), &amp;jn($m,$x), 
     </span></span> <span style='color:black'><i>error:</i></span><span  
 style='color:black'> - remote server failied to store or restore the reason follows            &amp;jv($y,$x)</p></td>
     the </span><span style='font-family:"Courier New";color:black'>:</span><span  
 style='color:black'> </span></p>        <td width=147 valign=top class="Normal"> <p>Bessel functions of the first 
   <h3><a name="_Toc421867136">Mandatory Homework Data</a></h3>  
   <pre>&nbsp;</pre>            kind with orders 0, 1 and m respectively. For jn(m,x), m must be an 
   <pre><span  
 style='font-size:9.0pt'>&lt;Provided by &amp;EXT() and set external to the resource, required&gt;</span></pre>            integer whereas for jv(y,x), y is real. $x can be a pure number. $m 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.opendate&nbsp;&nbsp; #unix time of when the local machine should let the</span></pre>            must be an integer and can be a pure integer number. $y can be a pure 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #student in</span></pre>            real number</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=101 valign=top class="Normal"> <p>In CAPA, j0, j1 and jn are contained 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.duedate&nbsp;&nbsp;&nbsp; #unix time of when the local machine should stop</span></pre>            in one function, jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #accepting answers</span></pre>            is new to LON-CAPA.</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.answerdate #unix time of when the local machine should</span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #provide the correct answer to the student</span></pre>        <td width=131 valign=top class="Normal"> <p>yn(m,x)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=134 valign=top class="Normal"> <p>&amp;y0($x), &amp;y1($x), &amp;yn($m,$x), 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.weight&nbsp;&nbsp;&nbsp;&nbsp; # points the problem is worth</span></pre>            &amp;yv($y,$x)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=147 valign=top class="Normal"> <p>Bessel functions of the second 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.maxtries&nbsp;&nbsp; # maximum number of attempts the student can have</span></pre>            kind with orders 0, 1 and m respectively. For yn(m,x), m must be an 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            integer whereas for yv(y,x), y is real. $x can be a pure number. $m 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.type&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;# type of problem homework can be:</span></pre>            must be an integer and can be a pure integer number. $y can be a pure 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # homework - randomized, graded, stored with </span></pre>            real number</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, full feeback</span></pre>        <td width=101 valign=top class="Normal"> <p>In CAPA, y0, y1 and yn are contained 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exam - randomized, graded, stored with </span></pre>            in one function, yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, minimal feedback</span></pre>            is new to LON-CAPA.</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # form - unrandomized, ungraded, stored with </span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specified user, full feedback</span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # survey - unrandomized, ungraded, stored with </span></pre>        <td width=131 valign=top class="Normal"> <p>random(l,u,d)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, full feedback</span></pre>        <td width=134 valign=top class="Normal"> <p>&amp;random($l,$u,$d)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=147 valign=top class="Normal"> <p>Returns a uniformly distributed 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            random number between the lower bound, l and upper bound, u in steps 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            of d. $l, $u and $d can be pure numbers</p></td>
   <pre><span  
 style='font-size:9.0pt'>&lt;numerical/formula/response needed: (has a default if nonexistant)&gt;</span></pre>        <td width=101 valign=top class="Normal"> <p>In CAPA, all the 3 arguments 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            must be of the same type. However, now you can mix the type</p></td>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.responseid.tol&nbsp;&nbsp; # lots of possibilities here</span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # percentage, range (inclusive and exclusive),</span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; # variable name, etc</span></pre>        <td width=131 valign=top class="Normal"> <p>choose(i,...)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 3%</span></pre>        <td width=134 valign=top class="Normal"> <p>&amp;choose($i,...)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0.5</span></pre>        <td width=147 valign=top class="Normal"> <p>Choose the ith item from the 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # .05+</span></pre>            argument list. i must be an integer greater than 0 and the value of 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 3%+</span></pre>            i should not exceed the number of items. $i can be a pure integer</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0.5+,.005</span></pre>        <td width=101 valign=top class="Normal">&nbsp; </td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.responseid.sig&nbsp; # one or two comma sepearted integers,&nbsp;&nbsp;&nbsp; </span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# specifying the number of significatn figures</span></pre>        <td width=131 valign=top class="Normal"> <p>/MAP(seed;w,x,y,z;a,b,c,d)</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # a student must use</span></pre>        <td width=134 valign=top class="Normal"> <p>Option 1 - &amp;map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            or <br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            Option 2 - &amp;map($seed,\@mappedArray,[$a,$b,$c,$d]) <br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            Option 3 - @mappedArray = &amp;map($seed,[$a,$b,$c,$d]) <br>
   <pre><span  
 style='font-size:9.0pt'>&lt;Problem sets using cstore (required):&gt;</span></pre>            Option 4 - ($w,$x,$y,$z) = &amp;map($seed,\@a) <br>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.solved # if not set, problem yet to be viewed</span></pre>            where $a='A'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # incorrect_attempted == incorrect and attempted</span></pre>            $b='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # correct_by_student == correct by student work</span></pre>            $c='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # correct_by_override == correct, instructor override</span></pre>            $d='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # incorrect_by_override == incorrect, instructor override</span></pre>            $w, $x, $y, and $z are variables</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # excused == excused, problem no longer counts for student</span></pre>        <td width=147 valign=top class="Normal"> <p>Assigns to the variables $w, 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # '' (empty) == not attempted</span></pre>            $x, $y and $z the values of the $a, $b, $c and $c (A, B, C and D). The 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ungraded_attempted == an ungraded answer has been</span></pre>            precise value for $w .. depends on the seed. (Option 1 of calling map). 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sumbitted and stored</span></pre>            In option 2, the values of $a, $b .. are mapped into the array, @mappedArray. 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.tries&nbsp; # positive integer of number of unsuccessful attempts</span></pre>            The two options illustrate the different grouping. Options 3 and 4 give 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # made, malformed answers don't count if feedback is</span></pre>            a consistent way (with other functions) of mapping the items. For each 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # on</span></pre>            option, the group can be passed as an array, for example, [$a,$b,$c,$d] 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            =&gt; \@a.</p></td>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.awarded # float between 0 and 1, percentage of</span></pre>        <td width=101 valign=top class="Normal"> <p>In CAPA, the arguments are divided 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# resource.weight that the stundent earned.</span></pre>            into three groups separated by a semicolon ;. In LON-CAPA, the separation 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            is done by using [] brackets or using an array @a. Note the backslash 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.award # final detailed award that was applied to the entire</span></pre>            (\) before the arguments in the second and third groups.</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # part of the question, check awarddetail below for</span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # possibilities</span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=131 valign=top class="Normal"> <p>rmap(seed;a,b,c,d;w,x,y,z)</p></td>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.previous # boolean, is this submission a previous submission</span></pre>        <td width=134 valign=top class="Normal"> <p>Option 1 - &amp;rmap($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            or <br>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.responseid.submissons</span></pre>            Option 2 - &amp;rmap($seed,\@rmappedArray,[$a,$b,$c,$d]) <br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # the student submitted string for the part.response</span></pre>            Option 3 - @rmapped_array = &amp;rmap($seed,[$a,$b,$c,$d]) <br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            Option 4 - ($w,$x,$y,$z) = &amp;rmap($seed,\@a) <br>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.responseid.awarddetail</span></pre>            where $a='A'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # list of all of the results of grading the submissions</span></pre>            $b='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in detailed form of the specific failure</span></pre>            $c='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #Possible values:</span></pre>            $d='B'<br>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # EXACT_ANS, APPROX_ANS : student is correct</span></pre>            $w, $x, $y, and $z are variables</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # NO_RESPONSE : student submitted no response</span></pre>        <td width=147 valign=top class="Normal"> <p>The rmap functions does the 
   <pre><span  
 style='font-size:9.0pt'>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# MISSING_ANSWER : student submitted some but not</span></pre>            reverse action of map if the same seed is used in calling map and rmap. 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all parts of a response</span></pre>          </p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # WANTED_NUMERIC : expected a numeric answer and</span></pre>        <td width=101 valign=top class="Normal"> <p>In CAPA, the arguments are divided 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; didn't get one</span></pre>            into three groups separated by a semicolon ;. In LON-CAPA, the separation 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # SIG_FAIL : incorrect number of Significant Figures</span></pre>            is done by using [] brackets (with create an unamed vector reference) 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # UNIT_FAIL : incorrect unit</span></pre>            or using an array @a. Note the backslash (\) before the arguments in 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # UNIT_NOTNEEDED : Submitted a unit when one shouldn't</span></pre>            the second and third groups (Which cause Perl to send to variable locations 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # NO_UNIT : needed a unit but none was submitted</span></pre>            rather than the variable values, similar to a C pointer).</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # BAD_FORMULA : syntax error in submitted formula</span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # INCORRECT : answer was wrong</span></pre>      <tr> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # SUBMITTED : submission wasn't graded</span></pre>        <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ERROR : unable to get a grade</span></pre>        <td width=134 valign=top class="Normal"> <p>$a=&amp;xmlparse($string) </p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>        <td width=147 valign=top class="Normal"> <p>Runs the internal parser over 
   <pre><span  
 style='font-size:9.0pt'>resource.partid.responseid.message (optional) (not yet supported)</span></pre>            the argument parsing for display. <b>Warning</b><span style='font-weight:normal'> 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; # a message that should be shown to the student</span></pre>            This will result in different strings in different targets. Don't use 
   <pre><span  
 style='font-size:9.0pt'>&nbsp;</span></pre>            the results of this function as an answer.</span></p></td>
   <pre><span  
 style='font-size:9.0pt'>resource.partid.bonustries (optional) (not yet supported)</span></pre>        <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if set, added to the maxtries parameter for student </span></pre>      </tr>
   <pre><span  
 style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# total number of tries overall</span></pre>      <tr> 
   <pre>&nbsp;</pre>  
   <h3><a name="_Toc421867137">Sample Problems</a></h3>        <td width=131 valign=top class="Normal"> <p>tex(a,b), tex(&quot;a&quot;,&quot;b&quot;)</p></td>
   <p class=H5><span style='layout-grid-mode:  
 both'>A Simple Problem</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;tex($a,$b), &amp;tex(&quot;a&quot;,&quot;b&quot;)</p></td>
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;problem&gt;</span></p>        <td width=147 valign=top class="Normal"> <p>Returns a if the output mode 
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            is in tex otherwise returns b</p></td>
     &lt;script type=&quot;loncapa/perl&quot;&gt;</span></p>  
   <p style='        <td width=101 valign=top class="Normal">&nbsp; </td>
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>$length=&amp;random(10,99,.1);</span></p>  
   <p style='      </tr>
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>$width=&amp;random(1,10,.01);</span></p>  
   <p style='      <tr> 
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>@area=($length*($width*10));</span></p>  
   <p style='        <td width=131 valign=top class="Normal"> <p>var_in_tex(a)</p></td>
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/script&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;var_in_tex($a)</p></td>
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>What        <td width=147 valign=top class="Normal"> <p>Equivalent to tex(&quot;a&quot;,&quot;&quot;)</p></td>
     is the area of a box $length mm in length and </span></p>  
   <p style='        <td width=101 valign=top class="Normal">&nbsp; </td>
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&amp;format($width,&quot;2E&quot;)  
     cm in width.</span></p>      </tr>
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     &lt;numericalresponse id=&quot;11&quot; answer=&quot;@area&quot; units=&quot;mm^2&quot;&gt;</span></p>  
   <p style='        <td width=131 valign=top class="Normal"> <p>to_string(x), to_string(x,y)</p></td>
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;textline&gt;&lt;/textline&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;to_string($x), &amp;to_string($x,$y)</p></td>
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>If x is an integer, returns 
     &lt;responseparam name=&quot;tol&quot; type=&quot;tolerance&quot; default=&quot;5%&quot;&gt;&lt;/responseparam&gt;</span></p>  
   <p style='            a string. If x is real than the output is a string with format given 
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/numericalresponse&gt;</span></p>            by y. For example, if x = 12.3456, &amp;to_string(x,&quot;.3F&quot;) 
   <p style='  
 line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/problem&gt;</span></p>            = 12.345 and &amp;to_string(x,&quot;.3E&quot;) = 1.234E+01.</p></td>
   <p class=H5><span  
 style='layout-grid-mode:both'>A More Complex Problem</span></p>        <td width=101 valign=top class="Normal">&nbsp; </td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;problem&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;displayduedate      </tr>
     /&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;p&gt;&lt;displaytitle      <tr> 
     /&gt;&lt;/p&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;script type=&quot;loncapa/perl&quot;&gt;</span></p>        <td width=131 valign=top class="Normal"> <p>capa_id(), class(), section(), 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF=&quot;&lt;b&gt;  
     F&lt;sub&gt;1&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>            set(), problem()</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF1=&quot;&lt;b&gt;  
     F&lt;sub&gt;1&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;class(), &amp;section()</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF2=&quot;&lt;b&gt;  
     F&lt;sub&gt;2&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>        <td width=147 valign=top class="Normal"> <p>Returns null string, class descriptive 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$mF=&quot;|&lt;b&gt;F&lt;/b&gt;|&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F1mag=&quot;|&lt;b&gt;F&lt;sub&gt;1&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>            name, section number, set number and null string.</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F2mag=&quot;|&lt;b&gt;F&lt;sub&gt;2&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq1mag=&quot;|&lt;b&gt;        <td width=101 valign=top class="Normal"> <p>capa_id(), set() and problem() 
     &lt;font face=symbol&gt;t&lt;/font&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq2mag=&quot;|&lt;b&gt;            are no longer used. Currently, they return a null value.</p></td>
     &lt;font face=symbol&gt;t&lt;/font&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$Q1=&quot;Q&lt;sub&gt;1&lt;/sub&gt;&quot;;</span></p>      </tr>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$Q2=&quot;Q&lt;sub&gt;2&lt;/sub&gt;&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$tau=&quot;&lt;font      <tr> 
     face=symbol&gt;t&lt;/font&gt;&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$tau1=&quot;&lt;font        <td width=131 valign=top class="Normal"> <p>name(), student_number()</p></td>
     face=symbol&gt;&lt;b&gt;t&lt;/b&gt;&lt;/font&gt;&lt;sub&gt;1&lt;/sub&gt;&quot;;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $val=&amp;random(1,4,1);</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;name(), &amp;student_number()</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $tp=&amp;choose($val,&quot;her&quot;,&quot;her&quot;,&quot;his&quot;,&quot;his&quot;);</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $sd=&amp;choose($val,&quot;daughter&quot;,&quot;niece&quot;,&quot;nephew&quot;,&quot;son&quot;);</span></p>        <td width=147 valign=top class="Normal"> <p>Return the full name in the 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/script&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;startouttext            following format: lastname, firstname initial. Student_number returns 
     /&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq1mag and $trq2mag            the student 9-alphanumeric string. If undefined, the functions return 
     are the magnitudes of the torques produced repectively by </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>forces $vF1 and $vF2            null.</p></td>
     with respect the pivot P. The magnitudes of $vF1 is </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F1mag and that of        <td width=101 valign=top class="Normal">&nbsp; </td>
     $vF2 is $F2mag. $Q1 and $Q2 are the locations </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>on a rigid body where      </tr>
     $vF1 and $vF2 act.&nbsp; </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;endouttext /&gt;</span></p>      <tr> 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;optionresponse  
     max=&quot;600&quot;&gt;</span></p>        <td width=131 valign=top class="Normal"> <p>open_date(), due_date(), answer_date()</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foilgroup options=&quot;('Correct','Incorrect','Can not tell')&quot;&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;open_date(), &amp;due_date(), 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;conceptgroup concept=&quot;Effect of the moment-arm on the torque&quot;&gt;</span></p>            &amp;answer_date()</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;1a&quot; value=&quot;Incorrect&quot;&gt;</span></p>        <td width=147 valign=top class="Normal"> <p>Problem open date, due date 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     For $F1mag larger than $F2mag , $trq1mag is larger than $trq2mag</span></p>            and answer date. The time is also included in 24-hr format.</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>        <td width=101 valign=top class="Normal"> <p>Output format for time is changed 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;1b&quot; value=&quot;Incorrect&quot;&gt;</span></p>            slightly. If pass noon, it displays ..pm else it displays ..am. So 23:59 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     For $F1mag smaller than $F2mag , $trq1mag is smaller than $trq2mag</span></p>            is displayed as 11:59 pm.</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>      </tr>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;foil      <tr> 
     name=&quot;1c&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>get_seed(), set_seed()</p></td>
     For $F1mag larger than $F2mag , $trq1mag can be less&nbsp; than $trq2mag</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>Not implemented</p></td>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>Get and set the random seed.</p></td>
     &lt;foil name=&quot;1d&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal">&nbsp; </td>
     For $F1mag smaller than $F2mag , $trq1mag can be larger&nbsp; than $trq2mag</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      </tr>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     &lt;/conceptgroup&gt; </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>sub_string(a,b,c)</p></td>
     &lt;conceptgroup concept=&quot;For a given pivot, relation of force vector  
     to torque.&quot;&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>&amp;sub_string($a,$b,$c) <br>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;2a&quot; value=&quot;Correct&quot;&gt;</span></p>            perl&nbsp; substr function. However, note the differences</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     The moment-arm of $vF is the shortest distance from P to the line along $vF        <td width=147 valign=top class="Normal"> <p>Retrieve a portion of string 
     .</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            a starting from b and length c. For example,&nbsp; $a = &quot;Welcome 
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            to LON-CAPA&quot;; $result=&amp;sub_string($a,4,4); then $result is 
     &lt;foil name=&quot;2b&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            &quot;come&quot;</p></td>
     The moment-arm of $vF is the shortest distance from P to $vF vector.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal"> <p>Perl intrinsic function, substr(string,b,c) 
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            starts counting from 0 (as opposed to 1). In the example to the left, 
     &lt;foil name=&quot;2c&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            substr($a,4,4) returns &quot;ome &quot;.</p></td>
     The moment-arm of $vF is not the distance from P to Q&lt;sub&gt;1&lt;/sub&gt;.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      </tr>
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     &lt;foil name=&quot;2d&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>array[xx]</p></td>
     The moment-arm of $vF is the distance from P to Q&lt;sub&gt;1&lt;/sub&gt;.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>@arrayname <br>
     &lt;/foil&gt; </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            Array is intrinsic in perl. To access a specific element use $arrayname[$n] 
     &lt;/conceptgroup&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            where $n is the $n+1 element since the array count starts from 0</p></td>
     &lt;conceptgroup concept=&quot;Torque is force x moment-arm.&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>&quot;xx&quot; can be a variable 
     &lt;foil name=&quot;3a&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            or a calculation.</p></td>
     $trq1mag equals to the product of the moment-arm and $F1mag .</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal"> <p>In LON-CAPA, an array is defined 
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            by @arrayname. It is not necessary to specify the dimension of the array.&nbsp;</p></td>
     &lt;foil name=&quot;3b&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      </tr>
     $trq1mag equals to $F1mag times the distance from Q&lt;sub&gt;1&lt;/sub&gt;  
     to P.</span></p>      <tr> 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>        <td width=131 valign=top class="Normal"> <p>array_moments(B,A)</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;3c&quot; value=&quot;Correct&quot;&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>@B=&amp;array_moments(@A)</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     $trq1mag is not equal to the product of $F1mag and the distance from Q&lt;sub&gt;1&lt;/sub&gt;        <td width=147 valign=top class="Normal"> <p>Evaluates the moments of an 
     to P.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            array A and place the result in array B[i] where i = 0 to 4. The contents 
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            of B are as follows: B[0] = number of elements, B[1] = mean, B[2] = 
     &lt;foil name=&quot;3d&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            variance, B[3] = skewness and B[4] = kurtosis.</p></td>
     $trq1mag is not equal to the product of the moment-arm and $F1mag .</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal"> <p>In CAPA, the moments are passed 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            as an array in the first argument whereas in LON-CAPA, the array containing 
     &lt;/conceptgroup&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            the moments are set equal to the function.</p></td>
     &lt;conceptgroup concept=&quot;Pivot point is required to calculate torque&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      </tr>
     &lt;foil name=&quot;4a&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     $tau1 vector depends on the location of P.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>array_max(Name), array_min(Name)</p></td>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>&amp;min(@Name), &amp;max(@Name)</p></td>
     &lt;foil name=&quot;4b&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>In LON-CAPA to find the maximum 
     $tau1 vector does not depend on the location of P.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            value of an array, use &amp;max(@arrayname)&nbsp; and to find the minimum 
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            value of an array, use &amp;min(@arrayname)</p></td>
     &lt;foil name=&quot;4c&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal"> <p>Combined with the min and max 
     $tau1 vector has no meaning unless a pivot is selected.</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            functions defined earlier.</p></td>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      </tr>
     &lt;foil name=&quot;4d&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      <tr> 
     $tau1 vector can be determined without selecting P. </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=131 valign=top class="Normal"> <p>init_array(Name)</p></td>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=134 valign=top class="Normal"> <p>undef @name</p></td>
     &lt;/conceptgroup&gt; </span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>To destroy the contents of an 
     &lt;conceptgroup concept=&quot;torque from 2 forces acting along same line&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            array, use</p></td>
     &lt;foil name=&quot;5a&quot; value=&quot;Correct&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=101 valign=top class="Normal"> <p>Use perl intrinsic undef function.</p></td>
     Two equal forces, acting on a body along the same line but at different positions,  
     produce equal torques with respect to a given pivot.&quot;</span></p>      </tr>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>      <tr> 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;5b&quot; value=&quot;Incorrect&quot;&gt;</span></p>        <td width=131 valign=top class="Normal"> <p>random_normal (return_array,item_cnt,seed,av,std_dev)</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     Two equal forces, along the same line, produce equal torques with respect        <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_normal 
     to a given pivot only if they act at the same point on a body.&quot;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            ($item_cnt,$seed,$av,$std_dev)</p></td>
     &lt;/foil&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
     &lt;foil name=&quot;5c&quot; value=&quot;Incorrect&quot;&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            of normal distribution of average $av and standard deviation $std_dev. 
     Two equal forces acting on a body along the same line but at different positions,  
     produce equal torques for only one pivot.&quot;</span></p>            The distribution is generated from seed $seed</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>        <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/conceptgroup&gt;</span></p>            as the first argument whereas in LON-CAPA the results are set equal 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;foil name=&quot;6&quot; value=&quot;unused&quot;&gt;</span></p>            to the function.</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     This foil will never display since it is unused.</span></p>      </tr>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foil&gt;</span></p>      <tr> 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/foilgroup&gt;</span></p>        <td width=131 valign=top class="Normal"> <p>random_beta (return_array,item_cnt,seed,aa,bb)</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;notsolved&gt;</span></p>        <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_beta 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;hintgroup&gt;</span></p>            ($item_cnt,$seed,$aa,$bb) <br>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>Think the definition  
     of the torque. The force and the moment-arm respect to the pivot.&nbsp; </span></p>            NOTE: Both $aa and $bb MUST be greater than 1.0E-37.</p></td>
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &lt;/hintgroup&gt;</span></p>        <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
     &nbsp;&nbsp;&lt;/notsolved&gt;</span></p>            of beta distribution. The density of beta is: X^($aa-1) *(1-X)^($bb-1) 
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/optionresponse&gt;</span></p>  
   <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/problem&gt;</span></p>            /B($aa,$bb) for 0&lt;X&lt;1.</p></td>
   <h3>&nbsp; </h3>  
   <p> <img border=0 width=432 height=370        <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
 src="Session%20On2_files/image003.png" v:shapes="_x0000_i1025"> </p>  
   <p><span style='font-size:14.0pt'><b>Fig. 3.1.1</b></span><span            as the first argument whereas in LON-CAPA the results are set equal 
 style='font-size:14.0pt'> Ð Internal Structure of Homework Handler</span></p>  
 </div>            to the function.</p></td>
 <br  
 clear=ALL style='page-break-before:always;'>      </tr>
 <div class=Section2> </div>  
 </body>      <tr> 
 </html>  
         <td width=131 valign=top class="Normal"> <p>random_gamma (return_array,item_cnt,seed,a,r)</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_gamma 
   
             ($item_cnt,$seed,$a,$r) <br>
   
             NOTE: Both $a and $r MUST be positive.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of gamma distribution. The density of gamma is: ($a**$r)/gamma($r) * 
   
             X**($r-1) * exp(-$a*X).</p></td>
   
         <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   
             as the first argument whereas in LON-CAPA the results are set equal 
   
             to the function.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>random_exponential (return_array,item_cnt,seed,av)</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_exponential 
   
             ($item_cnt,$seed,$av) <br>
   
             NOTE: $av MUST be non-negative.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of exponential distribution. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   
             as the first argument whereas in LON-CAPA the results are set equal 
   
             to the function.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>random_poisson (return_array,item_cnt,seed,mu)</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_poisson 
   
             ($item_cnt,$seed,$mu) <br>
   
             NOTE: $mu MUST be non-negative.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of poisson distribution. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   
             as the first argument whereas in LON-CAPA the results are set equal 
   
             to the function.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>random_chi (return_array,item_cnt,seed,df)</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_chi 
   
             ($item_cnt,$seed,$df) <br>
   
             NOTE: $df MUST be positive.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of chi_square distribution with $df degrees of freedom. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   
             as the first argument whereas in LON-CAPA the results are set equal 
   
             to the function.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>random_noncentral_chi (return_array,item_cnt,seed,df,nonc)</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_noncentral_chi 
   
             ($item_cnt,$seed,$df,$nonc) <br>
   
             NOTE: $df MUST be at least 1 and $nonc MUST be non-negative.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of noncentral_chi_square distribution with $df degrees of freedom and 
   
             noncentrality parameter $nonc. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>In CAPA the results are passed 
   
             as the first argument whereas in LON-CAPA the results are set equal 
   
             to the function.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_f 
   
             ($item_cnt,$seed,$dfn,$dfd) <br>
   
             NOTE: Both $dfn and $dfd MUST be positive.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of F (variance ratio) distribution with degrees of freedom $dfn (numerator) 
   
             and $dfd (denominator). </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of noncentral F (variance ratio) distribution with degrees of freedom 
   
             $dfn (numerator) and $dfd (denominator). $nonc is the noncentrality 
   
             parameter. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT DOCUMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             of multivariate_normal distribution with mean vector @mean and variance-covariance 
   
             matrix. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>Note the backslash before the 
   
             @mean and @covar arrays.</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>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.</p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_permutation 
   
             ($item_cnt,@array) </p></td>
   
         <td width=147 valign=top class="Normal"> <p>Returns @array randomly permuted.</p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;random_uniform 
   
             ($item_cnt,$seed,$low,$high) <br>
   
             NOTE: $low must be less than or equal to $high.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             from a uniform distribution. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             from a uniform distribution in integers. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>Generate $item_cnt deviates 
   
             from the binomial distribution with $nt trials and the probabilty of 
   
             an event in each trial is $p. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
       <tr> 
   
         <td width=131 valign=top class="Normal"> <p>NOT IMPLEMENTED IN CAPA</p></td>
   
         <td width=134 valign=top class="Normal"> <p>@return_array=&amp;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.</p></td>
   
         <td width=147 valign=top class="Normal"> <p>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. </p></td>
   
         <td width=101 valign=top class="Normal"> <p>New to LON-CAPA</p></td>
   
       </tr>
   
     </table>
   
     <h3><a name="_Toc421867130">&lt;script&gt; Variables</a></h3>
   
     <ul type=disc>
   
       <li>$external::target - set to the current target the xml parser is parsing 
   
         for </li>
   
       <li>$external::part - set to the <i>id</i><span style='font-style:normal'> 
   
         of the current problem &lt;part&gt;; zero if there are no &lt;part&gt; </span></li>
   
       <li>$external::gradestatus - set to the value of the current resource.partid.solved 
   
         value </li>
   
       <li>$external::datestatus - set to the current status of the clock either 
   
         CLOSED, CAN_ANSWER, CANNOT_ANSWER, SHOW_ANSWER, or UNCHECKEDOUT </li>
   
       <li>$external::randomseed - set to the number that was used to seed the random 
   
         number generator </li>
   
       <li>$pi - set to PI </li>
   
       <li>$rad2deg - converts radians to degrees </li>
   
       <li>$deg2rad - converts degrees to radians </li>
   
     </ul>
   
     <h3><a name="_Toc421867131">Form internals</a> </h3>
   
     <p>Form elements used for homework editing/response </p>
   
     <p>the form is named lonhomework </p>
   
     <h3><a name="_Toc421867132">Viewing a problem (either CSTR or RES space)</a></h3>
   
     <ul type=disc>
   
       <li>grade_target, grade_username, grade_domain, grade_symb - the vaules take 
   
         precedence over the the normal ENV settings of these, use &amp;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><a name="_Toc421867133">Editing a problem (Edit mode)</a></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 type=disc>
   
       <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 &amp;Apache::edit::editline and 
   
         &amp;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 </li>
   
     </ul>
   
     <ul type=disc>
   
       <li> &nbsp; </li>
   
     </ul>
   
     <h3><a name="_Toc421867134">Symbs</a></h3>
   
     <p>To identify a specific instance of a resource, LON-CAPA uses symbols or Òsymbs.Ó 
   
       These identifiers are built from the URL of the map, the resource number of 
   
       the resource in the map, and the URL of the resource itself. The latter is 
   
       somewhat redundant, but might help if maps change.</p>
   
     <p>An example is</p>
   
     <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;msu/korte/parts/part1.sequence___19___msu/korte/tests/part12.problem</span></p>
   
     <p class=MsoHeader>The respective map entry is</p>
   
     <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;&lt;resource 
   
       id=&quot;19&quot; src=&quot;/res/msu/korte/tests/part12.problem&quot;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></p>
   
     <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp; title=&quot;Problem 
   
       2&quot;&gt;</span></p>
   
     <p class=MsoHeader><span style='font-family:"Courier New"'>&nbsp;&lt;/resource&gt;</span></p>
   
     <p class=MsoHeader>Symbs are used by the random number generator, as well as 
   
       to store and restore data specific to a certain instance of for example a 
   
       problem.</p>
   
     <h3><a name="_Toc421867135">Store / Restore</a></h3>
   
     <p><span style='color:black'>2 important functions in lonnet.pm are </span><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore()</span><span
   
   style='color:black'> and </span><span style='font-family:"Courier New";
   
   color:black'>&amp;Apache::lonnet:restore()</span><span style='color:black'> (and 
   
       </span><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::store()</span><span
   
   style='color:black'>, which is is the non-critical message twin of </span><span
   
   style='font-family:"Courier New";color:black'>cstore</span><span
   
   style='color:black'>). These functions are for handlers to store a perl hash to 
   
       a userÕs permanent data space in an easy manner, and to retrieve it again 
   
       on another call. It is expected that a handler would use this once at the 
   
       beginning to retrieve data, and then again once at the end to send only the 
   
       new data back. </span></p>
   
     <p><span style='color:black'>The data is stored in the userÕs data directory 
   
       on the userÕs homeserver under the ID of the course.</span></p>
   
     <p><span style='color:black'>The hash that is returned by </span><span
   
   style='font-family:"Courier New";color:black'>restore</span><span
   
   style='color:black'> will have all of the previous value for all of the elements 
   
       of the hash. </span></p>
   
     <p><span style='color:black'>Example: </span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#creating a hash</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>my %hash;</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>$hash{'foo'}='bar';</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#storing it</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore(\%hash);</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#changing a value </span></p>
   
     <p><span style='font-family:"Courier New";color:black'>$hash{'foo'}='notbar';</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#adding a new value</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>$hash{'bar'}='foo';</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::cstore(\%hash);</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#retrieving the hash</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>my %history=&amp;Apache::lonnet::restore();</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>#print the hash</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>foreach my $key (sort(keys(%history))) 
   
       {</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp; print(&quot;\%history{$key} 
   
       = $history{$key}&quot;);</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>}</span></p>
   
     <p><span style='color:black'>Will print out: </span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{1:foo} = bar</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{1:keys} = foo:timestamp</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{1:timestamp} 
   
       = 990455579</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{2:bar} = foo</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{2:foo} = notbar</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{2:keys} = foo:bar:timestamp</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{2:timestamp} 
   
       = 990455580</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{bar} = foo</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{foo} = notbar</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{timestamp} = 
   
       990455580</span></p>
   
     <p><span style='font-family:"Courier New";color:black'>%history{version} = 2</span></p>
   
     <p><span style='color:black'>Note that the special hash entries <i>keys</i></span><span style='color:black'>, 
   
       <i>version</i></span><span
   
   style='color:black'> and <i>timestamp</i></span><span style='color:black'> were 
   
       added to the hash. <i>version</i></span><span style='color:black'> will be 
   
       equal to the total number of versions of the data that have been stored. The 
   
       <i>timestamp</i></span><span
   
   style='color:black'> attribute will be the UNIX time the hash was stored. <i>keys</i></span><span
   
   style='color:black'> is available in every historical section to list which keys 
   
       were added or changed at a specific historical revision of a hash. </span></p>
   
     <p><span style='color:black'><b>Warning</b></span><span
   
   style='color:black'> do not store the hash that restore returns directly. This 
   
       will cause a mess since it will restore the historical keys as if the were 
   
       new keys. I.E. </span><span style='font-family:"Courier New";color:black'>1:foo</span><span
   
   style='color:black'> will become </span><span style='font-family:"Courier New";
   
   color:black'>1:1:foo</span><span style='color:black'> etc. </span></p>
   
     <p><span style='color:black'><b>Calling convention: </b></span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New";
   
   color:black'>&nbsp; my %record=&amp;Apache::lonnet::restore($symb,$courseid,$domain,$uname,$home);</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New";
   
   color:black'>&nbsp; &amp;Apache::lonnet::cstore(\%newrecord,$symb,$courseid,$domain,$uname,$home);</span></p>
   
     <p><span style='color:black'><b>Arguments (only %newrecord is required the rest 
   
       are somewhat optional, read the details): </b></span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>$symb</i></span><span
   
   style='color:black'> - a string containing the internal name of the specific instance 
   
       of a resource. Usually this value can be gotten from </span><span
   
   style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::symbread($filename)</span><span
   
   style='color:black'>. If the argument is blank, it will attempt to use </span><span
   
   style='font-family:"Courier New";color:black'>symbread()</span><span
   
   style='color:black'> for it. If the result is ambiguous store/restore will fail. 
   
       </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>$courseid</i></span><span
   
   style='color:black'> - the internal name for a course, usually found in </span><span
   
   style='font-family:"Courier New";color:black'>$ENV{'request.course.id'}</span><span
   
   style='color:black'> which is what will be looked at if no value is passed to 
   
       the functions. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>$domain</i></span><span
   
   style='color:black'> - the domain that the user belongs to, usually found in </span><span
   
   style='font-family:"Courier New";color:black'>$ENV{'user.domain'}</span><span
   
   style='color:black'> which is what will be looked at if no value is passed to 
   
       the functions. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>$uname</i></span><span
   
   style='color:black'> - the login name for the user, usually found in </span><span
   
   style='font-family:"Courier New";color:black'>$ENV{'user.name'}</span><span
   
   style='color:black'> which is what will be looked at if no value is passed to 
   
       the functions. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>$home</i></span><span
   
   style='color:black'> - the homeserver for the user, usually found in </span><span
   
   style='font-family:"Courier New";color:black'>$ENV{'user.home'}</span><span
   
   style='color:black'> but can be easily gotten from a domain and name through </span><span
   
   style='font-family:"Courier New";color:black'>&amp;Apache::lonnet::homeserver($uname,$domain)</span><span
   
   style='color:black'>. If no value is passed to store/restore the value in %ENV 
   
       will be used. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>%newrecord</i></span><span
   
   style='color:black'> - the hash to store being passed by reference </span></p>
   
     <p><span style='color:black'><b>Return values: </b></span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>an empty string</i></span><span
   
   style='color:black'> - the function was unable to determine exactly where to store 
   
       or restore from. At least one of the &quot;optional&quot; arguments was unable 
   
       to be determined. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>a hash</i></span><span
   
   style='color:black'> - restore successfully read a old hash for this specific 
   
       user / resource instance. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>no_such_host</i></span><span
   
   style='color:black'> - the <i>$home</i></span><span style='color:black'> specfied 
   
       desn't exist in the network. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>con_delayed</i></span><span
   
   style='color:black'> - the <i>$home</i></span><span style='color:black'> was uncontactable 
   
       at this time. The store will be delayed until it is again available. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>con_failed</i></span><span
   
   style='color:black'> - the <i>$home</i></span><span style='color:black'> was uncontactable 
   
       at this time and store was unable to delay the store until a later time. The 
   
       store failed. </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>ok</i></span><span
   
   style='color:black'> - the store completed succesfully </span></p>
   
     <p> <span style='font-family:Symbol;
   
   color:black'>á<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       </span></span> <span style='color:black'><i>error:</i></span><span
   
   style='color:black'> - remote server failied to store or restore the reason follows 
   
       the </span><span style='font-family:"Courier New";color:black'>:</span><span
   
   style='color:black'> </span></p>
   
     <h3><a name="_Toc421867136">Mandatory Homework Data</a></h3>
   
     <pre>&nbsp;</pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&lt;Provided by &amp;EXT() and set external to the resource, required&gt;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.opendate&nbsp;&nbsp; #unix time of when the local machine should let the</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #student in</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.duedate&nbsp;&nbsp;&nbsp; #unix time of when the local machine should stop</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #accepting answers</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.answerdate #unix time of when the local machine should</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #provide the correct answer to the student</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.weight&nbsp;&nbsp;&nbsp;&nbsp; # points the problem is worth</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.maxtries&nbsp;&nbsp; # maximum number of attempts the student can have</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.type&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;# type of problem homework can be:</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # homework - randomized, graded, stored with </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, full feeback</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exam - randomized, graded, stored with </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, minimal feedback</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # form - unrandomized, ungraded, stored with </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specified user, full feedback</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # survey - unrandomized, ungraded, stored with </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requesting user, full feedback</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&lt;numerical/formula/response needed: (has a default if nonexistant)&gt;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.responseid.tol&nbsp;&nbsp; # lots of possibilities here</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # percentage, range (inclusive and exclusive),</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; # variable name, etc</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 3%</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0.5</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # .05+</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 3%+</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0.5+,.005</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.responseid.sig&nbsp; # one or two comma sepearted integers,&nbsp;&nbsp;&nbsp; </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# specifying the number of significatn figures</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # a student must use</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&lt;Problem sets using cstore (required):&gt;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.solved # if not set, problem yet to be viewed</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # incorrect_attempted == incorrect and attempted</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # correct_by_student == correct by student work</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # correct_by_override == correct, instructor override</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # incorrect_by_override == incorrect, instructor override</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # excused == excused, problem no longer counts for student</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # '' (empty) == not attempted</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ungraded_attempted == an ungraded answer has been</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sumbitted and stored</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.tries&nbsp; # positive integer of number of unsuccessful attempts</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # made, malformed answers don't count if feedback is</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # on</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.awarded # float between 0 and 1, percentage of</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# resource.weight that the stundent earned.</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.award # final detailed award that was applied to the entire</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # part of the question, check awarddetail below for</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # possibilities</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.previous # boolean, is this submission a previous submission</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.responseid.submissons</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # the student submitted string for the part.response</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.responseid.awarddetail</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # list of all of the results of grading the submissions</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in detailed form of the specific failure</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #Possible values:</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # EXACT_ANS, APPROX_ANS : student is correct</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # NO_RESPONSE : student submitted no response</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# MISSING_ANSWER : student submitted some but not</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all parts of a response</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # WANTED_NUMERIC : expected a numeric answer and</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; didn't get one</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # SIG_FAIL : incorrect number of Significant Figures</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # UNIT_FAIL : incorrect unit</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # UNIT_NOTNEEDED : Submitted a unit when one shouldn't</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # NO_UNIT : needed a unit but none was submitted</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # BAD_FORMULA : syntax error in submitted formula</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # INCORRECT : answer was wrong</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # SUBMITTED : submission wasn't graded</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ERROR : unable to get a grade</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.responseid.message (optional) (not yet supported)</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; # a message that should be shown to the student</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>resource.partid.bonustries (optional) (not yet supported)</span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if set, added to the maxtries parameter for student </span></pre>
   
     <pre><span
   
   style='font-size:9.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# total number of tries overall</span></pre>
   
     <pre>&nbsp;</pre>
   
     <h3><a name="_Toc421867137">Sample Problems</a></h3>
   
     <p class=H5><span style='layout-grid-mode:
   
   both'>A Simple Problem</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;problem&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;script type=&quot;loncapa/perl&quot;&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>$length=&amp;random(10,99,.1);</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>$width=&amp;random(1,10,.01);</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>@area=($length*($width*10));</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/script&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>What 
   
       is the area of a box $length mm in length and </span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&amp;format($width,&quot;2E&quot;) 
   
       cm in width.</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;numericalresponse id=&quot;11&quot; answer=&quot;@area&quot; units=&quot;mm^2&quot;&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;textline&gt;&lt;/textline&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;responseparam name=&quot;tol&quot; type=&quot;tolerance&quot; default=&quot;5%&quot;&gt;&lt;/responseparam&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/numericalresponse&gt;</span></p>
   
     <p style='
   
   line-height:50%'><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/problem&gt;</span></p>
   
     <p class=H5><span
   
   style='layout-grid-mode:both'>A More Complex Problem</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;problem&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;displayduedate 
   
       /&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;p&gt;&lt;displaytitle 
   
       /&gt;&lt;/p&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;script type=&quot;loncapa/perl&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF=&quot;&lt;b&gt; 
   
       F&lt;sub&gt;1&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF1=&quot;&lt;b&gt; 
   
       F&lt;sub&gt;1&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$vF2=&quot;&lt;b&gt; 
   
       F&lt;sub&gt;2&lt;/sub&gt; &lt;/b&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$mF=&quot;|&lt;b&gt;F&lt;/b&gt;|&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F1mag=&quot;|&lt;b&gt;F&lt;sub&gt;1&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F2mag=&quot;|&lt;b&gt;F&lt;sub&gt;2&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq1mag=&quot;|&lt;b&gt; 
   
       &lt;font face=symbol&gt;t&lt;/font&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq2mag=&quot;|&lt;b&gt; 
   
       &lt;font face=symbol&gt;t&lt;/font&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;/b&gt;|&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$Q1=&quot;Q&lt;sub&gt;1&lt;/sub&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$Q2=&quot;Q&lt;sub&gt;2&lt;/sub&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$tau=&quot;&lt;font 
   
       face=symbol&gt;t&lt;/font&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$tau1=&quot;&lt;font 
   
       face=symbol&gt;&lt;b&gt;t&lt;/b&gt;&lt;/font&gt;&lt;sub&gt;1&lt;/sub&gt;&quot;;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $val=&amp;random(1,4,1);</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $tp=&amp;choose($val,&quot;her&quot;,&quot;her&quot;,&quot;his&quot;,&quot;his&quot;);</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp; $sd=&amp;choose($val,&quot;daughter&quot;,&quot;niece&quot;,&quot;nephew&quot;,&quot;son&quot;);</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/script&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;startouttext 
   
       /&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$trq1mag and $trq2mag 
   
       are the magnitudes of the torques produced repectively by </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>forces $vF1 and $vF2 
   
       with respect the pivot P. The magnitudes of $vF1 is </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>$F1mag and that of 
   
       $vF2 is $F2mag. $Q1 and $Q2 are the locations </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>on a rigid body where 
   
       $vF1 and $vF2 act.&nbsp; </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;endouttext /&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;optionresponse 
   
       max=&quot;600&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foilgroup options=&quot;('Correct','Incorrect','Can not tell')&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;conceptgroup concept=&quot;Effect of the moment-arm on the torque&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;1a&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       For $F1mag larger than $F2mag , $trq1mag is larger than $trq2mag</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;1b&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       For $F1mag smaller than $F2mag , $trq1mag is smaller than $trq2mag</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;foil 
   
       name=&quot;1c&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       For $F1mag larger than $F2mag , $trq1mag can be less&nbsp; than $trq2mag</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;1d&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       For $F1mag smaller than $F2mag , $trq1mag can be larger&nbsp; than $trq2mag</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/conceptgroup&gt; </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;conceptgroup concept=&quot;For a given pivot, relation of force vector 
   
       to torque.&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;2a&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       The moment-arm of $vF is the shortest distance from P to the line along $vF 
   
       .</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;2b&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       The moment-arm of $vF is the shortest distance from P to $vF vector.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;2c&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       The moment-arm of $vF is not the distance from P to Q&lt;sub&gt;1&lt;/sub&gt;.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;2d&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       The moment-arm of $vF is the distance from P to Q&lt;sub&gt;1&lt;/sub&gt;.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt; </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/conceptgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;conceptgroup concept=&quot;Torque is force x moment-arm.&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;3a&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $trq1mag equals to the product of the moment-arm and $F1mag .</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;3b&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $trq1mag equals to $F1mag times the distance from Q&lt;sub&gt;1&lt;/sub&gt; 
   
       to P.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;3c&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $trq1mag is not equal to the product of $F1mag and the distance from Q&lt;sub&gt;1&lt;/sub&gt; 
   
       to P.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;3d&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $trq1mag is not equal to the product of the moment-arm and $F1mag .</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/conceptgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;conceptgroup concept=&quot;Pivot point is required to calculate torque&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;4a&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $tau1 vector depends on the location of P.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;4b&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $tau1 vector does not depend on the location of P.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;4c&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $tau1 vector has no meaning unless a pivot is selected.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;4d&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       $tau1 vector can be determined without selecting P. </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/conceptgroup&gt; </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;conceptgroup concept=&quot;torque from 2 forces acting along same line&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;5a&quot; value=&quot;Correct&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       Two equal forces, acting on a body along the same line but at different positions, 
   
       produce equal torques with respect to a given pivot.&quot;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;5b&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       Two equal forces, along the same line, produce equal torques with respect 
   
       to a given pivot only if they act at the same point on a body.&quot;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;5c&quot; value=&quot;Incorrect&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       Two equal forces acting on a body along the same line but at different positions, 
   
       produce equal torques for only one pivot.&quot;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/conceptgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;foil name=&quot;6&quot; value=&quot;unused&quot;&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       This foil will never display since it is unused.</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foil&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/foilgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;notsolved&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;hintgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>Think the definition 
   
       of the torque. The force and the moment-arm respect to the pivot.&nbsp; </span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &lt;/hintgroup&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   
       &nbsp;&nbsp;&lt;/notsolved&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/optionresponse&gt;</span></p>
   
     <p><span style='font-size:8.0pt;font-family:"Courier New"'>&lt;/problem&gt;</span></p>
   
     <h3>&nbsp; </h3>
   
     <p> <img border=0 width=432 height=370
   
   src="Session%20On2_files/image003.png" v:shapes="_x0000_i1025"> </p>
   
     <p><span style='font-size:14.0pt'><b>Fig. 3.1.1</b></span><span
   
   style='font-size:14.0pt'> Ð Internal Structure of Homework Handler</span></p>
   
   </div>
   
   <br
   
   clear=ALL style='page-break-before:always;'>
   
   <div class=Section2> </div>
   
   </body>
   
   </html>
   

Removed from v.1.1  
changed lines
  Added in v.1.2


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