\label{CAPA_LON-CAPA_function_diffs} \begin{longtable}{|p{5cm}|p{6.5cm}|p{5.5cm}|} \hline \textbf{CAPA Функции } &\textbf{LON-CAPA } &\textbf{Различия (если имеются) } \endhead \hline sin(x), cos(x), tan(x) & \&sin(\$x), \&cos(\$x), \&tan(\$x) & ═ \\ \hline asin(x), acos(x), atan(x), atan2(y,x) & \&asin(\$x), \&acos(\$x), \&atan(\$x), \&atan2(\$y,\$x) & ═ \\ \hline log(x), log10(x) & \&log(\$x), \&log10(\$x) & ═ \\ \hline exp(x), pow(x,y), sqrt(x) & \&exp(\$x), \&pow(\$x,\$y), \&sqrt(\$x) & ═ \\ \hline abs(x), sgn(x) & \&abs(\$x), \&sgn(\$x) & ═ \\ \hline erf(x), erfc(x) & \&erf(\$x), \&erfc(\$x) & ═ \\ \hline ceil(x), floor(x) & \&ceil(\$x), \&floor(\$x) & ═ \\ \hline min(...), max(...) & \&min(...), \&max(...) & ═ \\ \hline factorial(n) & \&factorial(\$n) & ═ \\ \hline N\%M & \$N\%\$M & ═ \\ \hline sinh(x), cosh(x), tanh(x) & \&sinh(\$x), \&cosh(\$x), \&tanh(\$x) & ═ \\ \hline asinh(x), acosh(x), atanh(x) & \&asinh(\$x), \&acosh(\$x), \&atanh(\$x) & ═ \\ \hline /DIS(\$x,''nn'') & \&format(\$x,'nn') & ═Различие очевидно. \\ \hline Отсутствует в CAPA & \&prettyprint(\$x,'nn') & ═ \\ \hline Отсутствует в CAPA & \&dollarformat(\$x) & ═ \\ \hline roundto(x,n) & \&roundto(\$x,\$n) & ═ \\ \hline web(``a'',''b'',''c'') или web(a,b,c) & \&web(``a'',''b'',''c'') или \&web(\$a,\$b,\$c) & ═ \\ \hline html(``a'') или html(a) & \&html(``a'') или \&html(\$a) & ═ \\ \hline jn(m,x) & \&j0(\$x), \&j1(\$x), \&jn(\$m,\$x), \&jv(\$y,\$x) & В CAPA, j0, j1 и jn содержатся в одной функции, jn(m,x) где m принимает значения 0, 1 or 2. jv(y,x) новая функция в LON-CAPA. \\ \hline yn(m,x) & \&y0(\$x), \&y1(\$x), \&yn(\$m,\$x), \&yv(\$y,\$x) & В CAPA, y0, y1 and yn содержатся в одной функции, yn(m,x) где m принимает значения 0, 1 or 2. yv(y,x) новая функция в LON-CAPA. \\ \hline random(l,u,d) & \&random(\$l,\$u,\$d) & В CAPA, все 3 аргумента должны быть того же самого типа. Однако, сейчас Вы можете смешивать тип \\ \hline choose(i,...) & \&choose(\$i,...) & ═ \\ \hline /MAP(seed;w,x,y,z;a,b,c,d) & \parbox{6.49cm}{ Опция 1 - \&map(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) или \\ Опция 2 - \&map(\$seed,$\backslash$@mappedArray,[\$a,\$b,\$c,\$d]) \\ Опция 3 - @mappedArray = \&map(\$seed,[\$a,\$b,\$c,\$d]) \\ Опция 4 - (\$w,\$x,\$y,\$z) = \&map(\$seed,$\backslash$@a) \\ где \$a='A'\\ \$b='B'\\ \$c='B'\\ \$d='B'\\ \$w, \$x, \$y, и \$z переменные } & В CAPA, аргументы делятся на три группы, разделяемые ;. В LON-CAPA, разделение осуществляется с помощью [] скобок или используя массив @a. Отметим бэкслэш ($\backslash$) перед аргументами во второй и третьей группах. \\ \hline rmap(seed;a,b,c,d;w,x,y,z) & \parbox{6.49cm}{Опция 1 - \&rmap(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) или \\ Опция 2 - \&rmap(\$seed,$\backslash$@rmappedArray,[\$a,\$b,\$c,\$d]) \\ Опция 3 - @rmapped\_array = \&rmap(\$seed,[\$a,\$b,\$c,\$d]) \\ Опция 4 - (\$w,\$x,\$y,\$z) = \&rmap(\$seed,$\backslash$@a) \\ где \$a='A'\\ \$b='B'\\ \$c='B'\\ \$d='B'\\ \$w, \$x, \$y, and \$z are variables } & В CAPA, аргументы делятся на три группы, разделяемые ;. В LON-CAPA, разделение осуществляется с помощью [] скобок (с образованием неименнованной векторной ссылки) или используя массив @a. Отметим бэкслэш ($\backslash$) перед аргументами во второй и третьей группах (Который заставляет Perl ссылаться на местоположение переменной а не на ее значение, подобно C пойнтерам). \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & \$a=\&xmlparse(\$string) & Новая в LON-CAPA \\ \hline tex(a,b), tex(``a'',''b'') & \&tex(\$a,\$b), \&tex(``a'',''b'') & ═ \\ \hline var\_in\_tex(a) & \&var\_in\_tex(\$a) & ═ \\ \hline to\_string(x), to\_string(x,y) & \&to\_string(\$x), \&to\_string(\$x,\$y) & ═ \\ \hline capa\_id(), class(), section(), set(), problem() & \&class(), \§ion() & capa\_id(), set() и problem() более не используются. В настоящий момент они возвращают значение null. \\ \hline name(), student\_number() & \&name(), \&student\_number() & ═ \\ \hline open\_date(), due\_date(), answer\_date() & \&open\_date(), \&due\_date(), \&answer\_date() & Выходной формат для времени слегка изменен. Если полдень минул, показывается ..pm, иначе ..am. Так 23:59 показано как 11:59 pm. \\ \hline get\_seed(), set\_seed() & Не реализованы & ═ \\ \hline sub\_string(a,b,c) & \&sub\_string(\$a,\$b,\$c) perl═ substr функции. Однако, отметим различия & Внутренняя функция в Perl, substr(string,b,c) начинает отсчет с 0 (а не с 1). В примере substr(\$a,1,4), где \$a=``home `` функция возвращает ``ome ``. \\ \hline array[xx] & @arrayname Массив является внутренним в perl. Получить доступ к определенному элементу используйте \$arrayname[\$n] где \$n есть \$n+1 элемент, так как элементы в массиве отсчитываются с 0 & В LON-CAPA, массив определен @arrayname. Нет необходимости указывать размерность массива.═ \\ \hline array\_moments(B,A) & @B=\&array\_moments(@A) & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline array\_max(Name), array\_min(Name) & \&min(@Name), \&max(@Name) & Обьединены с min и max функциями, определенными ранее. \\ \hline init\_array(Name) & undef @name & Используют внутреннюю perl функцию undef. \\ \hline random\_normal (return\_array,item\_cnt,seed,av,std\_dev) & @return\_array=\&random\_normal (\$item\_cnt,\$seed,\$av,\$std\_dev) & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_beta (return\_array,item\_cnt,seed,aa,bb) & @return\_array=\&random\_beta (\$item\_cnt,\$seed,\$aa,\$bb) ОТМЕТИМ: Оба \$aa и \$bb ДОЛЖНЫ быть больше чем 1.0E-37. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_gamma (return\_array,item\_cnt,seed,a,r) & @return\_array=\&random\_gamma (\$item\_cnt,\$seed,\$a,\$r) ОТМЕТИМ: Оба \$a и \$r ДОЛЖНЫ быть положительными. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_exponential (return\_array,item\_cnt,seed,av) & @return\_array=\&random\_exponential (\$item\_cnt,\$seed,\$av) ОТМЕТИМ: \$av ДОЛЖЕН быть неотрицателен. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_poisson (return\_array,item\_cnt,seed,mu) & @return\_array=\&random\_poisson (\$item\_cnt,\$seed,\$mu) ОТМЕТИМ: \$mu ДОЛЖЕН быть неотрицателен. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_chi (return\_array,item\_cnt,seed,df) & @return\_array=\&random\_chi (\$item\_cnt,\$seed,\$df) ОТМЕТИМ: \$df ДОЛЖЕН быть положителен. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline random\_noncentral\_chi (return\_array,item\_cnt,seed,df,nonc) & @return\_array=\&random\_noncentral\_chi (\$item\_cnt,\$seed,\$df,\$nonc) ОТМЕТИМ: \$df ДОЛЖЕН быть минимум 1 и \$nonc ДОЛЖЕН быть неотрицателен. & В CAPA, моменты передаются как массив в первом аргументе, в то время как в LON-CAPA массив, содержащий моменты, есть единственный аргумент функции. \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_f (\$item\_cnt,\$seed,\$dfn,\$dfd) ОТМЕТИМ: Оба \$dfn и \$dfd ДОЛЖНЫ быть положительны. & Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_noncentral\_f (\$item\_cnt,\$seed,\$dfn,\$dfd,\$nonc) ОТМЕТИМ: \$dfn ДОЛЖЕН быть минимум 1, \$dfd ДОЛЖНЫ быть положителен, и \$nonc ДОЛЖЕН быть неотрицателен. & Новая в LON-CAPA \\ \hline НЕ ДОКУМЕНТИПОВАНА В CAPA & @return\_array=\&random\_multivariate\_normal (\$item\_cnt,\$seed,$\backslash$@mean,$\backslash$@covar) ОТМЕТИМ: @mean должен быть массивом из действительных чисел размерности p. @covar должен быть массивом из ссылок на массивы из действительных чисел размерности p (т.е. p на p матрицей. & Отметим бэкслэш перед @mean и @covar массивами. \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_multinomial (\$item\_cnt,\$seed,@p) ОТМЕТИМ: \$item\_cnt округлен с помощью int() и результат должен быть неотрицателен. Число элементов в @p должно быть по меньшей мере 2. & Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_permutation (\$seed,@array) & Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_uniform (\$item\_cnt,\$seed,\$low,\$high) ОТМЕТИМ: \$low должен быть меньше чем или равен \$high. & Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_uniform\_integer (\$item\_cnt,\$seed,\$low,\$high) ОТМЕТИМ: \$low и \$high оба пропущены через int(). \$low должен быть меньше чем или равен \$high. &Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_binomial (\$item\_cnt,\$seed,\$nt,\$p) ОТМЕТИМ: \$nt округлен с помощью int() и результат должен быть неотрицателен. \$p должен быть между 0 и 1 включая границы. & Новая в LON-CAPA \\ \hline НЕ РЕАЛИЗОВАНА В CAPA & @return\_array=\&random\_negative\_binomial (\$item\_cnt,\$seed,\$ne,\$p) ОТМЕТИМ: \$ne округлен с помощью int() и результат должен быть положителен. \$p должен быть между 0 и 1 исключая границы. & Новая в LON-CAPA \\ \hline \end{longtable}