--- loncom/html/adm/help/tex/Problem_LON-CAPA_Functions.tex 2003/06/27 14:20:01 1.3
+++ loncom/html/adm/help/tex/Problem_LON-CAPA_Functions.tex 2007/05/24 06:45:57 1.9
@@ -22,9 +22,9 @@
\&abs(\$x), \&sgn(\$x) & 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$<$0, sgn(x) = -1. \$x can be a pure number \\
\hline
-\&erf(\$x), \&erfc(\$x) & Error function. erf = 2/sqrt(pi) integral (0,x) et-sq and \emph{ erfx(x)}
- = 1.0 - \emph{erf(x)}
-. \$x can be a pure number \\
+\&erf(\$x), \&erfc(\$x) & Error function.
+erf = 2/sqrt(pi) integral (0,x) et-sq and \emph{ erfx(x)}
+ = 1.0 - \emph{erf(x)}. \$x can be a pure number \\
\hline
\&ceil(\$x), \&floor(\$x) & 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 \\
@@ -45,18 +45,21 @@
\&asinh(\$x), \&acosh(\$x), \&atanh(\$x) & Inverse hyperbolic functions. \$x can be a pure number \\
\hline
-\&format(\$x,'nn') & Display or format \$x as nn where nn is nF or nE and n is an integer. Also supports the first character being a \$, it thjen will format the result with a call to \&dollarformat() described below. \\
+\&format(\$x,'nn') & Display or format \$x as nn where nn is nF or nE or nS and n is an integer. \\
\hline
-\&prettyprint(\$x,'nn') & Display or format \$x as nn where nn is nF or nE and n is an integer. Also supports the first character being a \$, it then will format the result with a a call to \&dollarformat() described below. In E mode it will attempt to generate a pretty x10\^{}3 rather than a E3 following the number \\
+\&prettyprint(\$x,'nn','optional target') & Note that that tag $<$num$>$ can be used to do the same thing. Display or format \$x as nn where nn is nF or nE or nS and n is an integer. Also supports the first character being a \$, it then will format the result with a a call to \&dollarformat() described below. If the first character is a , it will format it with commas grouping the thousands. In S mode it will fromat the number to the specified number of significant figures and display it in F mode. In E mode it will attempt to generate a pretty x10\^{}3 rather than a E3 following the number, the 'optional target' argument is optional but can be used to force \&prettyprint to generate either 'tex' output, or 'web' output, most people do not need to specify this argument and can leave it blank.\\
\hline
-\&dollarformat(\$x) & Reformats \$x to have a \$ (or $\backslash$\$ if in tex mode) and to have , grouping thousands. \\
+\&dollarformat(\$x,'optional target') & Reformats \$x to have a \$ (or $\backslash$\$ if in tex mode) and to have , grouping thousands. The 'optional target' argument is optional but can be used to force \&prettyprint to generate either 'tex' output, or 'web' output, most people do not need to specify this argument and can leave it blank.\\
\hline
\&roundto(\$x,\$n) & Rounds a real number to n decimal points. \$x and \$n can be pure numbers \\
\hline
+&\&cas(\$s,\$e)&Evaluates the expression \$e inside the symbolic algebra system \$s. Currently, only the Maxima symbolic math system is implemented. Example: \&cas('maxima','6*7')&\\
+\hline
+
\&web(``a'',''b'',''c'') or \&web(\$a,\$b,\$c) & 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 \\
\hline
@@ -80,17 +83,19 @@ Option 1 - \&map(\$seed,[$\backslash$\$w
Option 2 - \&map(\$seed,$\backslash$@mappedArray,[\$a,\$b,\$c,\$d]) \\
Option 3 - @mappedArray = \&map(\$seed,[\$a,\$b,\$c,\$d]) \\
Option 4 - (\$w,\$x,\$y,\$z) = \&map(\$seed,$\backslash$@a) \\
+ Option 5 - @Z = \&map(\$seed,$\backslash$@a) \\
where \$a='A'\\
\$b='B'\\
\$c='B'\\
\$d='B'\\
- \$w, \$x, \$y, and \$z are variables } & Assigns to the variables \$w, \$x, \$y and \$z the values of the \$a, \$b, \$c and \$c (A, B, C and D). The precise value for \$w .. depends on the seed. (Option 1 of calling map). In option 2, the values of \$a, \$b .. are mapped into the array, @mappedArray. The two options illustrate the different grouping. Options 3 and 4 give a consistent way (with other functions) of mapping the items. For each option, the group can be passed as an array, for example, [\$a,\$b,\$c,\$d] =$>$ $\backslash$@a. \\
+ \$w, \$x, \$y, and \$z are variables } & Assigns to the variables \$w, \$x, \$y and \$z the values of the \$a, \$b, \$c and \$c (A, B, C and D). The precise value for \$w .. depends on the seed. (Option 1 of calling map). In option 2, the values of \$a, \$b .. are mapped into the array, @mappedArray. The two options illustrate the different grouping. Options 3 and 4 give a consistent way (with other functions) of mapping the items. For each option, the group can be passed as an array, for example, [\$a,\$b,\$c,\$d] =$>$ $\backslash$@a. And Option 5 is the same as option 4 the array of results are saved into a signle array rather than an array opf scalar variables.\\
\hline
\parbox{6.49cm}{Option 1 - \&rmap(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) or \\
Option 2 - \&rmap(\$seed,$\backslash$@rmappedArray,[\$a,\$b,\$c,\$d]) \\
Option 3 - @rmapped\_array = \&rmap(\$seed,[\$a,\$b,\$c,\$d]) \\
Option 4 - (\$w,\$x,\$y,\$z) = \&rmap(\$seed,$\backslash$@a) \\
+ Option 5 - @Z = \&map(\$seed,$\backslash$@a) \\
where \$a='A'\\
\$b='B'\\
\$c='B'\\
@@ -98,7 +103,7 @@ Option 1 - \&map(\$seed,[$\backslash$\$w
\$w, \$x, \$y, and \$z are variables } & The rmap functions does the reverse action of map if the same seed is used in calling map and rmap. \\
\hline
-\$a=\&xmlparse(\$string) & Runs the internal parser over the argument parsing for display. \textbf{Warning}
+\$a=\&xmlparse(\$string) & You probably should use the tag $<$parse$>$ instead of this function. Runs the internal parser over the argument parsing for display. \textbf{Warning}
This will result in different strings in different targets. Don't use the results of this function as an answer. \\
\hline
@@ -111,12 +116,13 @@ Option 1 - \&map(\$seed,[$\backslash$\$w
\&to\_string(\$x), \&to\_string(\$x,\$y) & 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, \&to\_string(x,''.3F'') = 12.345 and \&to\_string(x,''.3E'') = 1.234E+01. \\
\hline
-\&class(), \§ion() & Returns null string, class descriptive name, section number, set number and null string. \\
+\&class(), \&sec() & Returns null string, class descriptive name, section number, set number and null string. \\
\hline
-\&name(), \&student\_number() & 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. \\
+\&name(), \&student\_number(), \&firstname(), \&lastname() & Return the full name in the following format: lastname, firstname initial. Student\_number returns the student 9-alphanumeric string. The functions firstname and lastname return just that part of the name. If undefined, the functions return null. \\
+\hline
+\&check\_status(\$partid) &Returns a number identifing 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 unspecfied, 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 attmpted 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\\
\hline
-
\&open\_date(), \&due\_date(), \&answer\_date() & Problem open date, due date and answer date. The time is also included in 24-hr format. \\
\hline
@@ -124,7 +130,7 @@ Not implemented & Get and set the rando
\hline
\&sub\_string(\$a,\$b,\$c)
-perl substr function. However, note the differences & Retrieve a portion of string a starting from b and length c. For example, \$a = ``Welcome to LON-CAPA''; \$result=\&sub\_string(\$a,4,4); then \$result is ``come'' \\
+perl substr function. However, note the differences & Retrieve a portion of string a starting from b and length c. For example, \$a = ``Welcome to LON-CAPA''; \$result=\&sub\_string(\$a,4,4); then \$result is ``come'' \\
\hline
@arrayname
@@ -134,7 +140,7 @@ Array is intrinsic in perl. To access a
@B=\&array\_moments(@A) & 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. \\
\hline
-\&min(@Name), \&max(@Name) & In LON-CAPA to find the maximum value of an array, use \&max(@arrayname) and to find the minimum value of an array, use \&min(@arrayname) \\
+\&min(@Name), \&max(@Name) & In LON-CAPA to find the maximum value of an array, use \&max(@arrayname) and to find the minimum value of an array, use \&min(@arrayname) \\
\hline
undef @name & To destroy the contents of an array, use \\