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

version 1.3, 2001/05/31 20:51:31 version 1.4, 2001/06/01 14:17:04
Line 338 Line 338
       <li>caparesponse_check</li>        <li>caparesponse_check</li>
       <li>caparesponse_check_list</li>        <li>caparesponse_check_list</li>
     </ul>      </ul>
   
     <table border=1>
         <tr>
               <td valign="top"><b>CAPA Functions</b</td>
               <td valign="top"><b>LON-CAPA</b</td>
               <td valign="top"><b>Descriptions</b</td>
               <td valign="top"><b>Differences (if any)</b</td>
        </tr>
   
        <tr>
                <td valign="top">sin(x), cos(x), tan(x)</td>
                <td valign="top">&amp;sin($x), &amp;cos($x), &amp;tan($x)</td>
                <td valign="top">Trigonometric functions where x is in radians. $x
            can be a pure number, i.e., you can call &amp;sin(3.1415)</td>
                <td valign="top">&nbsp</td>
       </tr>
   
       <tr>
                <td valign="top">sin(x), cos(x), tan(x)</td>
                <td valign="top">&amp;sin($x), &amp;cos($x), &amp;tan($x)</td>
                <td valign="top">Trigonometric functions where x is in radians. $x
            can be a pure number, i.e., you can call &amp;sin(3.1415)</td>
                 <td valign="top">&nbsp</td>
       </tr>
   
       <tr>
                <td valign="top">asin(x), acos(x), atan(x), atan2(y,x)</td>
                <td valign="top">&amp;asin($x), &amp;acos($x), &amp;atan($x), &amp;atan2($y,$x)</td>
                <td valign="top">Inverse trigonometric functions. Return value is
                    in radians. For asin and acos the value of x must be 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</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">log(x), log10(x)</td>
                <td valign="top">&amp;log($x), &amp;log10($x)</td>
                <td valign="top">Natural and base-10 logarithm. $x can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">exp(x), pow(x,y), sqrt(x)</td>
                <td valign="top">&amp;exp($x), &amp;pow($x,$y), &amp;sqrt($x)</td>
                <td valign="top">Exponential, power and square root, i.e.,e<sup>x</sup>, x<sup>y</sup> and /x.                  $x and $y can be pure numbers</td>
   
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">abs(x), sgn(x)</td>
                <td valign="top">&amp;abs($x), &amp;sgn($x)</td>
                <td valign="top">Abs takes the absolute value of x while sgn(x) returns
                    1, 0 or -1 depending on the value of x. For x>0, sgn(x) = 1, for x=0, sgn(x)
                    = 0 and for x&lt;0, sgn(x) = -1. $x can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">erf(x), erfc(x)</td>
                <td valign="top">&amp;erf($x), &amp;erfc($x)</td>
                <td valign="top">Error function.&nbsp; erf = 2/sqrt(pi) integral (0,x) e<sup>t-sq</sup> and <i>                 erfx(x)</i> = 1.0 - <i>erf(x)</i>.&nbsp; $x can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">ceil(x), floor(x)</td>
                <td valign="top">&amp;ceil($x), &amp;floor($x)</td>
                <td valign="top">Ceil function returns an integer 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 be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">min(...), max(...)</td>
                <td valign="top">&amp;min(...), &amp;max(...)</td>
                <td valign="top">Returns the minimum/ maximum value of a list of
                    arguments if the arguments are numbers. If the arguments are strings then
                    it returns a string sorted according to the ASCII codes</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">factorial(n)</td>
                <td valign="top">&amp;factorial($n)</td>
                <td valign="top">Argument (n) must be an integer else it will round
                    down. The largest value for n is 170. $n can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">N%M</td>
                <td valign="top">$N%$M</td>
   
                <td valign="top">N and M are integers and returns the remainder (in
                    integer) of N/M. $N and $M can be pure numbers</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">sinh(x), cosh(x), tanh(x)</td>
                <td valign="top">&amp;sinh($x), &amp;cosh($x), &amp;tanh($x)</td>
                <td valign="top">Hyperbolic functions. $x can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">asinh(x), acosh(x), atanh(x)</td>
                <td valign="top">&amp;asinh($x), &amp;acosh($x), &amp;atanh($x)</td>
                <td valign="top">Inverse hyperbolic functions. $x can be a pure number</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">roundto(x,n)</td>
                <td valign="top">&amp;roundto($x,$n)</td>
                <td valign="top">Rounds a real number to n decimal points. $x and
                    $n can be pure numbers</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">web("a","b","c") or web(a,b,c)</td>
                <td valign="top">&amp;web("a","b","c") or &amp;web($a,$b,$c)</td>
                <td valign="top">Returns either a, b or c depending on the output
                    medium. a is for plain ASCII, b for tex output and c for html output</td>
                <td valign="top">&nbsp</td>
       </tr>
   
       <tr>
                <td valign="top">html("a") or html(a)</td>
                <td valign="top">&amp;html("a") or &amp;html($a)</td>
                <td valign="top">Output only if the output mode chosen is in html
                    format</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">jn(m,x)</td>
                <td valign="top">&amp;j0($x), &amp;j1($x), &amp;jn($m,$x), &amp;jv($y,$x)</td>
                <td valign="top">Bessel functions of the first kind with orders 0,
                    1 and m respectively. For jn(m,x), m must be an 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 real number</td>
                <td valign="top">In CAPA, j0, j1 and jn are contained in one function,
                    jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) was not implemented</td>
       </tr>
   
       <tr>
                <td valign="top">yn(m,x)</td>
                <td valign="top">&amp;y0($x), &amp;y1($x), &amp;yn($m,$x), &amp;yv($y,$x)</td>
                <td valign="top">Bessel functions of the second 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 must be an integer and
                    can be a pure integer number. $y can be a pure real number</td>
                <td valign="top">In CAPA, y0, y1 and yn are contained in one function,
                    yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) was not implemented</td>
       </tr>
   
       <tr>
                <td valign="top">random(l,u,d)</td>
                <td valign="top">&amp;random($l,$u,$d)</td>
                <td valign="top">Returns a uniformly distributed random number between
                    the lower bound, l and upper bound, u in steps of d. $l, $u and $d can
                    be pure numbers</td>
                <td valign="top">In CAPA, all the 3 arguments must be of the same
                    type. However, now you can mix the type</td>
       </tr>
   
       <tr>
                <td valign="top">choose(i,...)</td>
                <td valign="top">&amp;choose($i,...)</td>
                <td valign="top">Choose the ith item from the argument list. i must
                    be an integer greater than 0 and the value of i should not exceed the number
                    of items. $i can be a pure integer</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">tex(a,b), tex("a","b")</td>
                <td valign="top">&amp;tex($a,$b), &amp;tex("a","b")</td>
                <td valign="top">Returns a if the output mode is in tex otherwise
                     returns b</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">var_in_tex(a)</td>
                <td valign="top">&amp;var_in_tex($a)</td>
                <td valign="top">Equivalent to tex("a","")</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">to_string(x), to_string(x,y)</td>
                <td valign="top">&amp;to_string($x), &amp;to_string($x,$y)</td>
                <td valign="top">If x is an integer, returns 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,".3F") = 12.345 and &amp;to_string(x,".3E") =
                   1.234E+01.</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">capa_id(), class(), section(), set(), problem()</td>
                <td valign="top">&amp;class(), &amp;section()</td>
                <td valign="top">Returns null string, class descriptive name, section
                       number, set number and null string.</td>
                <td valign="top">capa_id(), set() and problem() are no longer used.
                       Currently, they return a null value.</td>
       </tr>
   
       <tr>
                <td valign="top">name(), student_number()</td>
                <td valign="top">&amp;name(), &amp;student_number()</td>
                <td valign="top">Return the full name in the following format: lastname,
                       firstname initial. Student_number returns the student 9-alphanumeric string.
                       If undefined, the functions return null.</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">open_date(), due_date(), answer_date()</td>
                <td valign="top">&amp;open_date(), &amp;due_date(), &amp;answer_date()</td>
                <td valign="top">Problem open date, due date and answer date. The
                       time is also included in 24-hr format.</td>
                <td valign="top">Output format for time is changed slightly. If pass
                       noon, it displays ..pm else it displays ..am. So 23:59 is displayed as
                       11:59 pm.</td>
       </tr>
   
       <tr>
                <td valign="top">get_seed(), set_seed()</td>
                <td valign="top">Not implemented</td>
                <td valign="top">Get and set the random seed.</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">sub_string(a,b,c)</td>
                <td valign="top">&amp;sub_string($a,$b,$c) <br>perl&nbsp; substr function. 
                    However, note the differences</td>
                <td valign="top">Retrieve a portion of string a starting from b and
                       length c. For example,&nbsp; $a = "Welcome to LON-CAPA"; 
                       $result=&amp;sub_string($a,4,4); then $result is "come"</td>
                <td valign="top">Perl intrinsic function, substr(string,b,c) starts
                       counting from 0 (as opposed to 1). In the example to the left, substr($a,4,4)
                       returns "ome ".</td>
       </tr>
   
       <tr>
                <td valign="top">array[xx]</td>
                <td valign="top">@arrayname <br>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</td>
                <td valign="top">"xx" can be a variable or a calculation.</td>
                <td valign="top">In LON-CAPA, an array is defined by @arrayname.
                     It is not necessary to specify the dimension of the array.&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">array_moments(B,A)</td>
                <td valign="top">@B=&amp;array_moments(@A)</td>
                <td valign="top">Evaluates the moments of an array A and place the
                     result in array B[i] where i = 0 to 4. The contents of B are as follows:
                     B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness
                     and B[4] = kurtosis.</td>
                <td valign="top">&nbsp;</td>
       </tr>
   
       <tr>
                <td valign="top">array_max(Name), array_min(Name)</td>
                <td valign="top">&amp;min(@Name), &amp;max(@Name)</td>
                <td valign="top">In LON-CAPA to find the maximum value of an array, use
                      &amp;max(@arrayname)&nbsp; and to find the minimum value of an array, use
                      &amp;min(@arrayname)</td>
                <td valign="top">Combined with the min and max functions defined
                   earlier.</td>
       </tr>
   
       <tr>
                <td valign="top">init_array(Name)</td>
                <td valign="top">undef @name</td>
                <td valign="top">To destroy the contents of an array, use</td>
                <td valign="top">Use perl intrinsic undef function.</td>
       </tr>
   
       <tr>
                <td valign="top">random_norma(...), random_beta(...), random_gamma(...),
                  random_exponential(...), random_poisson(...), random_chi(...), random_noncentral(...)</td>
                <td valign="top">Not yet implemented.</td>
                <td valign="top">&nbsp;</td>
                <td valign="top">&nbsp;</td>
       </tr>
     </table>
   
   
     <h2>&lt;script&gt; Variables</h2>      <h2>&lt;script&gt; Variables</h2>
     <ul>      <ul>
       <li>        <li>

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


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