summaryrefslogtreecommitdiff
path: root/texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex')
-rw-r--r--texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex180
1 files changed, 180 insertions, 0 deletions
diff --git a/texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex b/texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex
new file mode 100644
index 00000000..ab78eeca
--- /dev/null
+++ b/texmf-dist/source/latex/eq2db/examples/FDF_submit/quiz2.tex
@@ -0,0 +1,180 @@
+%
+% D. P. Story dpstory@uakron.edu
+% The University of Akron
+%
+% Demo of using web/exerquiz to create a quiz, then process the
+% user's responses using the Adobe FDF Toolkit.
+%
+\documentclass{article}
+\usepackage[designi]{web} % dvips, pdftex, xetex
+\usepackage{exerquiz}
+\usepackage[ImplMulti,indefIntegral]{dljslib}
+\usepackage[eqRecord]{eq2db}
+
+\everyTextField{\BC{}\textFont{TiRo}\textSize{10}\textColor{0 0 1 rg}}
+
+% Set the deadline date
+\newcommand\Deadline{8/10/2003}
+
+% set the time limit
+\newcommand\TimeLimit{15} % measured in minutes
+
+%
+% Document level JavaScript to check whether student has entered the IdInfo
+% fields, and whether the student has a SSN of someone enrolled in the ``course''.
+% The ClassRoster array lists the student IDs (SSN) of student ``enrolled''.
+%
+\begin{insDLJS}[checkIDs]{eqrecord}{JS for eqRecord}
+var ok2Initialize = false;
+var okToSubmit = false;
+var ClassRoster = new Array(123456789, 111111111, 222222222, 987654321);
+var TimeLimit = 60 * 1000 * \TimeLimit;
+var StartingTime, RequiredEndingTime;
+function checkIDs() {
+ var DeadlineDate = util.scand("mm/dd/yyyy", "\Deadline").valueOf();
+ var TimeOfQuiz = new Date().valueOf();
+ if ( TimeOfQuiz > DeadlineDate) {
+ app.alert("It is too late to take this quiz!");
+ return false;
+ }
+ var f = this.getField("IdInfo.Name.First");
+ if ( f.value.replace(/\s/g,"") == "" ) {
+ app.alert("Please enter your \"First Name\", then try again to initialize the quiz again.");
+ return false;
+ }
+ var f = this.getField("IdInfo.Name.Last");
+ if ( f.value.replace(/\s/g,"") == "" ) {
+ app.alert("Please enter your \"Last Name\", then try again to initialize the quiz again.");
+ return false;
+ }
+ var f = this.getField("IdInfo.SSN");
+ if ( f.value == "" ) {
+ app.alert("Please enter enter your \"SSN\", then try to initialize the quiz again.");
+ return false;
+ }
+ for (var i=0; i < ClassRoster.length; i++)
+ if ( f.value == ClassRoster[i] ) break;
+ if ( i == ClassRoster.length ) {
+ app.alert("You are not enrolled in this class and, therefore, will not be permitted to take the quiz!");
+ return false
+ }
+ else {
+ StartingTime = new Date().valueOf();
+ RequiredEndingTime = StartingTime + TimeLimit;
+ return true;
+ }
+}
+function checkTimeLimit()
+{
+ var FinishTime = new Date().valueOf();
+ if ( FinishTime > RequiredEndingTime )
+ {
+ app.alert("The time limit of \TimeLimit\space minutes has expired, your results will not be submitted, sorry!");
+ return false;
+ }
+ else return true;
+}
+\end{insDLJS}
+
+
+% Check IDs just before we initialize the quiz
+\renewcommand\priorInitQuiz{if(checkIDs())}
+
+% Check the time limit just before we submit, if exceeded, we
+% do not submit.
+\renewcommand\priorSubmitQuiz{if(checkTimeLimit())}
+
+\useBeginQuizButton[\textColor{0 0 1}\CA{Begin}\AC{}\RC{}\rectW{}]
+\useEndQuizButton[\textColor{0 0 1}\CA{End}\AC{}\RC{}\rectW{}]
+
+% Design the "Quiz": Have the user enter his/her name and SSN (and perhaps
+% other data to identify the class.
+
+% User's First Name
+\newcommand\FirstName[2]{\textField{IdInfo.Name.First}{#1}{#2}} %\V{First Name}
+
+% User's Last Name
+\newcommand\LastName[2]{\textField{IdInfo.Name.Last}{#1}{#2}} %\V{Last Name}%
+
+% User's SSN
+\newcommand\SSN[2]{\textField[\MaxLen{11}
+ \AA{\AAKeystroke{AFSpecial_Keystroke(3);}
+ \AAFormat{AFSpecial_Format(3);}
+ }]{IdInfo.SSN}{#1}{#2}}
+
+
+\begin{document}
+\thispagestyle{empty}
+
+\begin{flushleft}
+Quiz~\#3 \hfill \underbar{First Name:\ \FirstName{100pt}{10pt}}\par
+D. P. Story \hfill\underbar{\rlap{Last Name:}\phantom{First Name:}\ \LastName{100pt}{10pt}}\par
+Math 101 \hfill \rlap{SSN:}\phantom{First Name:}\ \SSN{100pt}{10pt}
+\end{flushleft}
+
+% Submit this quiz to the ASP, and save it in the Database eqQuiz,
+% within eqQuiz, there is a table called Quiz1.
+\eqSubmit{http://localhost/scripts/eqRecord.asp\#FDF}{eqQuiz}{Math101}
+\begin{quiz}*{Quiz3} Answer each of the following. Passing
+is 100\%.
+
+\begin{questions}
+
+\item Name \emph{one} of the two people recognized as a founder of
+Calculus.\par%\kern2pt
+\RespBoxTxt{0}{0}{5}{Isaac Newton}{Newton}{I. Newton}%
+{Gottfried Leibniz}{Leibniz}%
+\CorrAnsButton{Isaac Newton or Gottfried Leibniz}
+
+\item $\displaystyle\frac{d}{dx} e^{x^2}=\RespBox{2*x*e^(x^2)}{4}{.0001}{[0,1]} %\hfill
+\CorrAnsButton{2*x*e^(x^2)}$%\kern1bp\sqTallyBox
+
+\item $\cos(\pi) = \RespBox{-1}{1}{.0001}24\CorrAnsButton{-1}$
+
+\item $\displaystyle\int \sin(x)\,dx =
+\RespBox{-cos(x)}{4}{.0001}{[0,1]}[indefCompare]\CorrAnsButton{-cos(x)}$
+\end{questions}
+\end{quiz}\quad\ScoreField\currQuiz\CorrButton\currQuiz
+
+\noindent
+Answers: \AnswerField\currQuiz\hfill
+
+\newpage
+\begin{flushleft}
+Quiz \#4 \hfill Math 101
+\end{flushleft}
+
+%
+% You can remove the limitations of the first quiz by saying
+% \renewcommand\priorInitQuiz{}
+% \renewcommand\priorSubmitQuiz{}
+% that is, redefined one or both to be empty.
+%
+
+\eqSubmit{http://localhost/scripts/eqRecord.asp\#FDF}{eqQuiz}{Math101}
+
+\begin{quiz}*{Quiz4}
+Using the discriminant, $b^2-4ac$, respond to each of the
+following questions.
+\begin{questions}
+\item Is the quadratic polynomial $x^2-4x + 3$ irreducible?
+\begin{answers}4
+\Ans0 Yes &\Ans1 No
+\end{answers}
+\item Is the quadratic polynomial $2x^2 - 4x + 3 $ irreducible?
+\begin{answers}4
+\Ans1 Yes &\Ans0 No
+\end{answers}
+\item How many solutions does the equation $2x^2 - 3x - 2= 0$ have?
+\begin{answers}4
+\Ans0 none &\Ans0 one &\Ans1 two
+\end{answers}
+\item $\displaystyle\int_0^\pi \sin(x)\,dx = $\space
+\RespBox{2}{1}{.0001}{[0,1]}\CorrAnsButton{2}
+\end{questions}
+\end{quiz}\quad\ScoreField\currQuiz\CorrButton\currQuiz
+
+\noindent
+Answers: \AnswerField\currQuiz
+
+\end{document}