Alternative Numerical Input

Here is the full text of our alternative numerical input example. Here, we allow the student to type in his/her answers in `standard' format. Of course, one should realize that some students, especially young ones, will be unfamiliar with the floating point notation such as
4.07e-6
so perhaps a discussion (or help screen) explaining this floating notation scheme is in order.

Non the less, here is the free form numerical alternative input example.

#!/usr/local/bin/perl -- -*- C -*-
use CGI;
$query = new CGI;
$quest = 3.4;
$debug = "true";
print $query->header;
print $query->start_html("q2.pl, Numerical Input Example");
print $query->start_form;

print <<EOF;
<P> How many feet are there in $quest miles?
EOF

$ans = 5280*$quest;

print $query->textfield('stu_ans','',10,30);
print "<P> Is the above answer correct?",$query->submit("Send Answer in For Grading");
print $query->reset;
print $query->end_form;


$returned_ans = $query->param('stu_ans');
if ( $query->param('stu_ans') ne '') {
	print "<em>Student_answer, </em>$returned_ans";
	$returned_ans =~ s/\//gi; 
	$returned_ans =~ s/\$//gi; 
	$returned_ans =~ s/#//gi; 
	$returned_ans =~ s/~//gi;
	$stu_ans = eval($returned_ans);



$criterion = ($stu_ans - $ans)**2;
if($debug eq "true"){
	print "<br>Actual answer recorded in question = ",$ans;
	print "<br> Criterion for acceptance = ",$criterion;
	}

print "<br> student answer = ",$returned_ans;
	if ( (($stu_ans - $ans)**2  ) ge 0.01 ) 
		{print "<em>, was WRONG!</EM>
		<IMG SRC=../icons/checkno.gif>"}
		 else {print "<em>, was RIGHT! </EM>
		<IMG SRC=../icons/check.gif>"};
};
print $query->end_html;

Click Here to see this Alternative Numerical Input Example.

Some random comments:

Other than that, everything else is standard.