summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/eq2db/examples/FDF_submit/quiz2.tex
blob: ab78eeca8f2dcd4a29a9539eacae06708ac8768c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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}