version 1.144, 2004/04/06 15:54:35
|
version 1.146, 2004/06/04 22:06:07
|
Line 86 sub start_numericalresponse {
|
Line 86 sub start_numericalresponse {
|
$safeeval); |
$safeeval); |
if ($unit =~ /\S/) { $result.=" (in $unit) "; } |
if ($unit =~ /\S/) { $result.=" (in $unit) "; } |
} |
} |
|
if ( &Apache::response::show_answer() ) { |
|
my $answertxt; |
|
my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack, |
|
$safeeval); |
|
my (@formats)=&Apache::lonxml::get_param_var('format',$parstack, |
|
$safeeval); |
|
my $unit=&Apache::lonxml::get_param_var('unit',$parstack, |
|
$safeeval); |
|
for (my $i=0; $i <= $#answers; $i++) { |
|
my $answer=$answers[$i]; |
|
my $format; |
|
if ($#formats > 0) { |
|
$format=$formats[$i]; |
|
} else { |
|
$format=$formats[0]; |
|
} |
|
my $formatted; |
|
if ((defined($format)) && ($format ne '')) { |
|
$format=~s/e/E/g; |
|
&Apache::lonxml::debug("formatting with :$format: answer :$answer:"); |
|
$formatted=sprintf('%.'.$format,$answer).','; |
|
} else { |
|
&Apache::lonxml::debug("no format answer :$answer:"); |
|
$formatted="$answer,"; |
|
} |
|
$answertxt.=$formatted; |
|
} |
|
chop $answertxt; |
|
if ($target eq 'web') { |
|
$answertxt.=" $unit.<br />"; |
|
} |
|
$Apache::inputtags::answertxt{$id}=$answertxt; |
|
} |
} |
} |
return $result; |
return $result; |
} |
} |
Line 185 sub end_numericalresponse {
|
Line 218 sub end_numericalresponse {
|
$safeeval); |
$safeeval); |
my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
my $status = $Apache::inputtags::status['-1']; |
my $status = $Apache::inputtags::status['-1']; |
if ( &Apache::response::show_answer() ) { |
|
my (@formats)=&Apache::lonxml::get_param_var('format',$parstack, |
|
$safeeval); |
|
my $unit=&Apache::lonxml::get_param_var('unit',$parstack, |
|
$safeeval); |
|
if ($target eq 'web') { |
|
$result="<br />".&mt('The correct answer is')." "; |
|
} |
|
for (my $i=0; $i <= $#answers; $i++) { |
|
my $answer=$answers[$i]; |
|
my $format; |
|
if ($#formats > 0) { |
|
$format=$formats[$i]; |
|
} else { |
|
$format=$formats[0]; |
|
} |
|
my $formatted; |
|
if ((defined($format)) && ($format ne '')) { |
|
$format=~s/e/E/g; |
|
&Apache::lonxml::debug("formatting with :$format: answer :$answer:"); |
|
$formatted=sprintf('%.'.$format,$answer).','; |
|
} else { |
|
&Apache::lonxml::debug("no format answer :$answer:"); |
|
$formatted="$answer,"; |
|
} |
|
if ($target eq 'tex') { |
|
$formatted=''; |
|
#$formatted=&Apache::lonxml::latex_special_symbols($formatted); |
|
} |
|
$result.=$formatted; |
|
} |
|
chop $result; |
|
if ($target eq 'web') { |
|
$result.=" $unit.<br />"; |
|
} |
|
} |
|
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
my $partid=$Apache::inputtags::part; |
my $partid=$Apache::inputtags::part; |
my $id=$Apache::inputtags::response[-1]; |
my $id=$Apache::inputtags::response[-1]; |
Line 341 sub end_numericalresponse {
|
Line 338 sub end_numericalresponse {
|
} |
} |
if ($target eq 'answer') { |
if ($target eq 'answer') { |
if ($high && $tag eq 'numericalresponse') { $ans.=' ['.$low.','.$high.']'; } |
if ($high && $tag eq 'numericalresponse') { $ans.=' ['.$low.','.$high.']'; } |
if ($sighigh && $tag eq 'numericalresponse') { |
if (defined($sighigh) && $tag eq 'numericalresponse') { |
if ($ENV{'form.answer_output_mode'} eq 'tex') { |
if ($ENV{'form.answer_output_mode'} eq 'tex') { |
$ans.= " Sig $siglow - $sighigh"; |
$ans.= " Sig $siglow - $sighigh"; |
} else { |
} else { |
Line 527 sub get_sigrange {
|
Line 524 sub get_sigrange {
|
$sig_ubound =15; #SIG_UB_DEFAULT |
$sig_ubound =15; #SIG_UB_DEFAULT |
} else { |
} else { |
($sig_lbound,$sig_ubound) = split(/,/,$sig); |
($sig_lbound,$sig_ubound) = split(/,/,$sig); |
if (!$sig_lbound) { |
if (!defined($sig_lbound)) { |
$sig_lbound = 0; #SIG_LB_DEFAULT |
$sig_lbound = 0; #SIG_LB_DEFAULT |
$sig_ubound =15; #SIG_UB_DEFAULT |
$sig_ubound =15; #SIG_UB_DEFAULT |
} |
} |
if (!$sig_ubound) { $sig_ubound=$sig_lbound; } |
if (!defined($sig_ubound)) { $sig_ubound=$sig_lbound; } |
} |
} |
if (($sig_ubound<$sig_lbound) || |
if (($sig_ubound<$sig_lbound) || |
($sig_lbound > 15) || |
($sig_lbound > 15) || |
Line 561 sub start_stringresponse {
|
Line 558 sub start_stringresponse {
|
[['cs','Case Sensitive'],['ci','Case Insensitive'], |
[['cs','Case Sensitive'],['ci','Case Insensitive'], |
['mc','Case Insensitive, Any Order'], |
['mc','Case Insensitive, Any Order'], |
['re','Regular Expression']],$token); |
['re','Regular Expression']],$token); |
$result.=&Apache::edit::checked_arg('Answer Display:','answerdisplay', |
|
[['inline','Inline']],$token); |
|
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $constructtag; |
my $constructtag; |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$safeeval,'answer', |
$safeeval,'answer', |
'type','answerdisplay'); |
'type','answerdisplay'); |
if ($constructtag) { |
if ($constructtag) { |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
$result.=&Apache::edit::handle_insert(); |
$result.=&Apache::edit::handle_insert(); |
} |
} |
|
} elsif ($target eq 'web') { |
|
if ( &Apache::response::show_answer() ) { |
|
$Apache::inputtags::answertxt{$id}= |
|
&Apache::lonxml::get_param('answer',$parstack,$safeeval); |
|
} |
} elsif ($target eq 'answer' || $target eq 'grade') { |
} elsif ($target eq 'answer' || $target eq 'grade') { |
&Apache::response::reset_params(); |
&Apache::response::reset_params(); |
} |
} |
Line 648 sub end_stringresponse {
|
Line 648 sub end_stringresponse {
|
} elsif ($target eq 'web' || $target eq 'tex') { |
} elsif ($target eq 'web' || $target eq 'tex') { |
my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; |
my $status = $Apache::inputtags::status['-1']; |
my $status = $Apache::inputtags::status['-1']; |
if ( &Apache::response::show_answer() ) { |
|
if ($target eq 'web') { |
|
$result=($answerdisplay eq 'inline'?'':"<br />".&mt('The correct answer is')." ") |
|
.$answer; |
|
# join(', ',@answers).".<br />"; |
|
} |
|
} |
|
if ($Apache::lonhomework::type eq 'exam' && $target eq 'tex') { |
if ($Apache::lonhomework::type eq 'exam' && $target eq 'tex') { |
$result.='\fbox{\fbox{\parbox{\textwidth-5mm}{\strut\\\\\strut\\\\\strut\\\\\strut\\\\}}}'; |
$result.='\fbox{\fbox{\parbox{\textwidth-5mm}{\strut\\\\\strut\\\\\strut\\\\\strut\\\\}}}'; |
$increment = &Apache::response::repetition(); |
$increment = &Apache::response::repetition(); |