--- loncom/html/adm/help/tex/Tolerance.tex 2002/07/05 16:12:31 1.1
+++ loncom/html/adm/help/tex/Tolerance.tex 2013/09/09 20:57:54 1.6
@@ -1,30 +1,60 @@
+\label{Tolerance}
A \textbf{tolerance\index{tolerance}} parameter determines how closely
the system will require the student's answer to be in order to count it correct.
+The tolerance will default to zero if it is not defined.
+The tolerance parameter should always be defined for a numerical problem
+unless you are certain only integer answers are generated from your script and
+you want students to reply with exactly that integer.
-
-For technical reasons, it is almost never a good idea to set this parameter
-to zero. Computers can only approximate computations involving real numbers. For instance,
+If the computer answer is a floating point number, the tolerance should not
+be zero. Computers can only approximate computations involving real numbers. For instance,
a computer's {[}decimal{]} answer to the simple problem $\frac{1}{3}$ is
{}``0.33333333333333331''. It \emph{should} be an infinite series of 3's,
and there certainly shouldn't be a {}``1'' in the answer, but no computer
can represent an infinitely long, infinitely detailed real number. Therefore,
-for any problem where the answer is not a small integer, you \emph{need}
+for any problem where the answer is not an integer, you \emph{need}
to allow a tolerance factor, or the students will find it nearly impossible
-to exactly match the computers idea of the answer. You may find the
-default too large for some problems.
+to exactly match the computer's idea of the answer. You may find the
+default tolerance too large for some problems, so adjust as appropriate.
-There are
-two kinds of tolerance. For some answer $a$ and a tolerance $t$,
+There are three kinds of tolerance. For some answer $A$ and a tolerance $T$,
\begin{enumerate}
\item an \textbf{Absolute} tolerance\index{absolute tolerance}\index{tolerance, absolute}
-will take anything in the range $a\pm t$. So if $a=10$ and $t=2$, then
+will take anything in the range $A\pm T$. So if $A=10$ and $T=2$, then
anything between 8 and 12 is acceptable.
Any number in the tolerance field \emph{without} a \textbf{\%} symbol is
an absolute tolerance.
\item a \textbf{Relative} tolerance\index{relative tolerance}\index{tolerance, relative}
-will take anything in the range $a\pm at$, where \emph{t} is interpreted
-as a percentage. Any number in the tolerance field \emph{followed by} a \textbf{\%}
+will take anything in the range $A\pm aT$, where \emph{T} is interpreted
+as a percentage/100. Any number in the tolerance field \emph{followed by} a \textbf{\%}
symbol is a relative tolerance. For example, $a=10$ and $t=10\%$ will accept
anything between 9 and 11.
-\end{enumerate}
\ No newline at end of file
+
+\item a tolerance that is a calculated variable (identified by \$ sign as
+the first character). For example, if an answer is $\$X$,and for a student
+possible values range from $-\$X1$ to $+\$X1$, you could choose $T =
+\$tolerance = \$2X1/100;$ acceptable answers would then be from
+$\$X-\$tolerance$ to $\$X+\$tolerance$. (This is especially useful when answers
+close to zero are possible for some students)
+
+\end{enumerate}
+
+Some care is necessary when setting the display format of the computer answer.
+Before testing the tolerance, LON-CAPA converts the computer answer,
+as generated in the script block, according to the
+format attribute in the numericalresponse tag.
+
+Next, the formatted comptuer answer is "graded" relative to the significant
+figures parameter, if it is set (see section \ref{Significant_Figures}.
+If that test was passed, then a numerical comparison of the Computer's
+answer is made with the range of values:
+
+(\$computerAnswer - \$tolerance) $<$ \$formattedcomputerAnswer $<$
+(\$computerAnswer + \$tolerance)
+
+If the \$formattedcomputerAnswer satisfies the permitted range, then
+"correct" is returned for the computer answer. It is good idea to test multiple
+randomizations to make sure that your tolerance is compatible with the display format.
+
+