version 1.253, 2012/12/14 11:17:09
|
version 1.255, 2014/12/30 20:03:15
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# caparesponse definition |
# caparesponse definition |
# |
# |
# caparesponse.pm,v 1.249.8.2 2012/02/04 20:40:15 foxr |
# $Id$ |
# |
# |
# Copyright Michigan State University Board of Trustees |
# Copyright Michigan State University Board of Trustees |
# |
# |
Line 446 sub check_submission {
|
Line 446 sub check_submission {
|
} |
} |
|
|
my (@final_awards,@final_msgs,@names); |
my (@final_awards,@final_msgs,@names); |
# $Apache::lonxml::debug = 1; # DEBUG |
|
foreach my $name (keys(%answer)) { |
foreach my $name (keys(%answer)) { |
&Apache::lonxml::debug(" doing $name with ".join(':',@{ $answer{$name}{'answers'} })); |
&Apache::lonxml::debug(" doing $name with ".join(':',@{ $answer{$name}{'answers'} })); |
|
|
Line 465 sub check_submission {
|
Line 464 sub check_submission {
|
push(@final_msgs,$msg); |
push(@final_msgs,$msg); |
push(@names,$name); |
push(@names,$name); |
} |
} |
# $Apache::lonxml::debug = 0; # DEBUG |
|
my ($ad, $msg, $name) = &Apache::inputtags::finalizeawards(\@final_awards, |
my ($ad, $msg, $name) = &Apache::inputtags::finalizeawards(\@final_awards, |
\@final_msgs, |
\@final_msgs, |
\@names,1); |
\@names,1); |
Line 647 sub end_numericalresponse {
|
Line 645 sub end_numericalresponse {
|
if (($target eq 'web') && ($tag eq 'formularesponse') |
if (($target eq 'web') && ($tag eq 'formularesponse') |
&& ($Apache::lonhomework::type ne 'exam') && ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') |
&& ($Apache::lonhomework::type ne 'exam') && ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') |
&& (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { |
&& (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { |
$result.=&Apache::response::edit_mathresponse_button($id,"HWVAL_$id"); |
$result.=&Apache::response::edit_mathresponse_button($partid,$id); |
} |
} |
|
|
&Apache::response::setup_prior_tries_hash(\&format_prior_response_numerical); |
&Apache::response::setup_prior_tries_hash(\&format_prior_response_numerical); |
Line 785 sub end_numericalresponse {
|
Line 783 sub end_numericalresponse {
|
$ans.=" $cleanunit"; |
$ans.=" $cleanunit"; |
} |
} |
} |
} |
# |
|
# The computer's response must be cast in a form that |
|
# ensures it has sufficient significant figures. |
|
# the only way to do this is to sprintf it into scientific notation |
|
# due to the ambiguity of trailing zeros. |
|
# See Bug 6577 |
|
# |
|
my ($sigMax, $sigmin) = &get_sigrange($Apache::inputtags::params{'sig'}); |
|
my $sigfigs = $sigMax-1; |
|
|
|
for (my $i = 0; $i < scalar @$response; $i++) { |
|
$response->[$i] = sprintf('%.' . $sigfigs . 'e', $response->[$i]); |
|
} |
|
my ($ad,$msg)=&check_submission($response,$partid,$id,$tag, |
my ($ad,$msg)=&check_submission($response,$partid,$id,$tag, |
$parstack,$safeeval); |
$parstack,$safeeval); |
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |