version 1.230, 2008/09/08 16:08:37
|
version 1.236.12.2, 2011/02/26 01:45:02
|
Line 305 sub start_numericalresponse {
|
Line 305 sub start_numericalresponse {
|
my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit'); |
my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit'); |
&Apache::lonxml::debug("Got unit $hideunit for $partid $id"); |
&Apache::lonxml::debug("Got unit $hideunit for $partid $id"); |
#no way to enter units, with radio buttons |
#no way to enter units, with radio buttons |
if (lc($hideunit) eq "yes") { |
if ((lc($hideunit) eq "yes") && ($Apache::lonhomework::type ne 'exam')) { |
my $unit=&Apache::lonxml::get_param_var('unit',$parstack, |
my $unit=&Apache::lonxml::get_param_var('unit',$parstack, |
$safeeval); |
$safeeval); |
if ($unit =~ /\S/) { $result.=" (in $unit) "; } |
if ($unit =~ /\S/) { $result.=" (in $unit) "; } |
} |
} |
if (($token->[1] eq 'formularesponse') && |
|
($Apache::inputtags::status['-1'] eq 'CAN_ANSWER')) { |
|
} |
|
if ( &Apache::response::show_answer() ) { |
if ( &Apache::response::show_answer() ) { |
&set_answertext($tag_internal_answer_name,$target,$token,$tagstack, |
&set_answertext($tag_internal_answer_name,$target,$token,$tagstack, |
$parstack,$parser,$safeeval,-1); |
$parstack,$parser,$safeeval,-1); |
Line 430 sub check_submission {
|
Line 427 sub check_submission {
|
} |
} |
} elsif ($tag eq 'numericalresponse') { |
} elsif ($tag eq 'numericalresponse') { |
$$args_ref{'type'}='float'; |
$$args_ref{'type'}='float'; |
|
} elsif ($tag eq 'stringresponse') { |
|
if ($$args_ref{'type'} eq '') { |
|
$$args_ref{'type'} = 'ci'; |
|
} |
} |
} |
|
|
&add_in_tag_answer($parstack,$safeeval); |
&add_in_tag_answer($parstack,$safeeval); |
|
|
if (!%answer) { |
if (!%answer) { |
Line 606 sub end_numericalresponse {
|
Line 607 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::lonxml::get_param('turnoneditor',$parstack,$safeeval) ne 'no')) { |
&& ($Apache::lonhomework::type ne 'exam') && ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') |
$result.=&Apache::response::edit_mathresponse_button($id,"HWVAL_$id"); |
&& (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { |
|
$result.=&Apache::response::edit_mathresponse_button($id,"HWVAL_$id"); |
} |
} |
|
|
&Apache::response::setup_prior_tries_hash(\&format_prior_response_numerical); |
&Apache::response::setup_prior_tries_hash(\&format_prior_response_numerical); |
Line 750 sub end_numericalresponse {
|
Line 752 sub end_numericalresponse {
|
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |
my $error; |
my $error; |
if ($tag eq 'formularesponse') { |
if ($tag eq 'formularesponse') { |
$error=&mt('Computer\'s answer is incorrect ("[_1]").',join(', ',@$response)); |
$error=&mt("Computer's answer is incorrect ([_1]).",'"'.join(', ',@$response).'"'); |
} else { |
} else { |
# answer failed check if it is sig figs that is failing |
# answer failed check if it is sig figs that is failing |
my ($ad,$msg)=&check_submission($response,$partid,$id, |
my ($ad,$msg)=&check_submission($response,$partid,$id, |
$tag,$parstack, |
$tag,$parstack, |
$safeeval,1); |
$safeeval,1); |
|
$error=&mt("Computer's answer is incorrect ([_1]).",'"'.join(', ',@$response).'"').' '; |
if ($sigline ne '') { |
if ($sigline ne '') { |
$error=&mt('Computer\'s answer is incorrect ("[_1]"). It is likely that the tolerance range [_2] or significant figures [_3] need to be adjusted.',join(', ',@$response),$tolline,$sigline); |
$error.=&mt('It is likely that the tolerance range [_1] or significant figures [_2] need to be adjusted.',$tolline,$sigline); |
} else { |
} else { |
$error=&mt('Computer\'s answer is incorrect ("[_1]"). It is likely that the tolerance range [_2] needs to be adjusted.',join(', ',@$response),$tolline); |
$error.=&mt('It is likely that the tolerance range [_1] needs to be adjusted.',$tolline); |
} |
} |
} |
} |
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |
if ($ad ne 'EXACT_ANS' && $ad ne 'APPROX_ANS') { |
Line 1076 sub start_stringresponse {
|
Line 1079 sub start_stringresponse {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
my $id = &Apache::response::start_response($parstack,$safeeval); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
|
undef(%answer); |
if ($target eq 'meta') { |
if ($target eq 'meta') { |
$result=&Apache::response::meta_package_write('stringresponse'); |
$result=&Apache::response::meta_package_write('stringresponse'); |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
Line 1159 sub end_stringresponse {
|
Line 1163 sub end_stringresponse {
|
my @args = ('type'); |
my @args = ('type'); |
my $args_ref = &setup_capa_args($safeeval,$parstack, |
my $args_ref = &setup_capa_args($safeeval,$parstack, |
\@args,$response); |
\@args,$response); |
|
if ($$args_ref{'type'} eq '') { |
|
$$args_ref{'type'} = 'ci'; |
|
} |
&add_in_tag_answer($parstack,$safeeval); |
&add_in_tag_answer($parstack,$safeeval); |
my (@final_awards,@final_msgs,@names); |
my (@final_awards,@final_msgs,@names); |
foreach my $name (keys(%answer)) { |
foreach my $name (keys(%answer)) { |