--- loncom/html/adm/help/tex/Problem_LON-CAPA_Functions.tex 2012/01/03 21:56:35 1.23 +++ loncom/html/adm/help/tex/Problem_LON-CAPA_Functions.tex 2013/10/18 03:43:14 1.27 @@ -65,8 +65,8 @@ Option 4 - @all = \&languages($\backslas \&roundto(\$x,\$n) & Rounds a real number to n decimal points. \$x and \$n can be pure numbers \\ \hline -\&cas(\$s,\$e,\$l)&Evaluates the expression \$e inside the symbolic algebra system \$s. Currently, only the Maxima symbolic math system is implemented. -\$l is an optional comma-separated list of libraries. Example: \&cas('maxima','6*7')\\ +\&cas(\$s,\$e,\$l)&Evaluates the expression \$e inside the symbolic algebra system \$s. Currently, the Maxima symbolic math system ('maxima') and the R statistical computing system ('R') are implemented. +\$l is an optional comma-separated list of libraries. Example: \&cas('maxima','diff(sin(x)/cos(x),x,2)')\\ \hline \&implicit\_multiplication(\$f)&Adds mathematical multiplication operators to the formula expression \$f where only implicit multiplication is used. Example: \&implicit\_multiplication('2(b+3c)') returns 2*(b+3*c) \\ @@ -84,7 +84,7 @@ Option 4 - @all = \&languages($\backslas \&y0(\$x), \&y1(\$x), \&yn(\$m,\$x), \&yv(\$y,\$x) & 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 \\ \hline -\&random(\$l,\$u,\$d) & 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 \\ +\&random(\$l,\$u,\$d) & Returns a uniformly distributed random number between the lower bound, l and upper bound, u in steps of d. d is optional. If omitted, a step of 1 is used. \$l, \$u and \$d can be pure numbers. \\ \hline \&choose(\$i,...) & 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 \\ @@ -133,7 +133,7 @@ Option 1 - \&map(\$seed,[$\backslash$\$w \&name(), \&student\_number(), \&firstname(), \&middlename(), \&lastname() & Return the full name in the following format: lastname, firstname initial. Student\_number returns the student 9-alphanumeric string. The functions firstname, middlename, and lastname return just that part of the name. If undefined, the functions return null. \\ \hline -\&check\_status(\$partid) &Returns a number identifying the current status of a part. True values mean that a part is ``done'' (either unanswerable because of tries exhaustion, or correct) or a false value if a part can still be attempted. If \$part is unspecified, it will check either the current $<$part$>$'s status or if outside of a $<$part$>$, check the status of previous $<$part$>$. The full set of return codes are: 'undef' means it is unattempted, 0 means it is attempted and wrong but still has tries, 1 means it is marked correct, 2 means they have exceed maximum number of tries, 3 means it after the answer date.\\ +\&check\_status(\$partid) &Returns a number identifying the current status of a part. True values mean that a part is ``done'' (either unanswerable because of tries exhaustion, or correct) or a false value if a part can still be attempted. If \$part is unspecified, it will check either the current $<$part$>$'s status or if outside of a $<$part$>$, check the status of previous $<$part$>$. The full set of return codes are: 'undef' means it is unattempted, 0 means it is attempted and wrong but still has tries, 1 means it is marked correct, 2 means they have exceeded maximum number of tries, 3 means it is after the answer date.\\ \hline \&open\_date(\$partid), \&due\_date(\$partid), \&answer\_date(\$partid) & Problem open date, due date and answer date in local human-readable format. Part 0 is chosen if \$partid is omitted.\\ \hline @@ -240,3 +240,13 @@ undef @name & To destroy the contents o NOTE: \$ne is rounded using int() and the result must be positive. \$p must be between 0 and 1 exclusive. & 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. \\ \hline \end{longtable} + +The \&EXT() \index{\&EXT}external function is extremely powerful, and is used to access parameters +and submission values. It can be +used within scripts and also within cell formulas in the grading spreadsheet. +Some examples can be found by browsing in the repository to /res/msu/albertel/test/ext\_examples.html. +The \&EXT() function can be used to obtain values for the same parameters as are retrived by some of the other (newer) helper functions +summarized in the table above, such as \&firstname() which is equivalent to \&EXT(`environment.firstname'), +and \¶meter\_setting(\$name,\$partid) is equivalent to \&EXT(`resource.'.\$partid.`.'.\$name). +In such cases the newer (specialized) functions are preferred to \&EXT() on the basis of ease of use. +