version 1.219, 2007/08/29 21:57:47
|
version 1.224, 2008/04/05 15:39:20
|
Line 609 sub end_numericalresponse {
|
Line 609 sub end_numericalresponse {
|
my $part_id="$partid.$id"; |
my $part_id="$partid.$id"; |
if ($target eq 'analyze') { |
if ($target eq 'analyze') { |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
push (@{ $Apache::lonhomework::analyze{"$part_id.bubble_lines"} }, 1); |
|
$Apache::lonhomework::analyze{"$part_id.type"} = $tag; |
$Apache::lonhomework::analyze{"$part_id.type"} = $tag; |
my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval); |
my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval); |
if ($#incorrect eq 0) { @incorrect=(split(/,/,$incorrect[0])); } |
if ($#incorrect eq 0) { @incorrect=(split(/,/,$incorrect[0])); } |
Line 679 sub end_numericalresponse {
|
Line 678 sub end_numericalresponse {
|
#} |
#} |
} |
} |
if ($high && $tag eq 'numericalresponse') { |
if ($high && $tag eq 'numericalresponse') { |
$element.=' ['.$low.','.$high.']'; |
$element.='; ['.$low.'; '.$high.']'; |
$tolline .= "[$low, $high]"; |
$tolline .= "[$low, $high]"; |
} |
} |
if (defined($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') { |
$element.= " Sig $siglow - $sighigh"; |
$element.= "; Sig $siglow - $sighigh"; |
} else { |
} else { |
$element.= " Sig <i>$siglow - $sighigh</i>"; |
$element.= " Sig <i>$siglow - $sighigh</i>"; |
$sigline .= "[$siglow, $sighigh]"; |
$sigline .= "[$siglow, $sighigh]"; |
Line 704 sub end_numericalresponse {
|
Line 703 sub end_numericalresponse {
|
} |
} |
} |
} |
if ($target eq 'answer') { |
if ($target eq 'answer') { |
$result.= &Apache::response::answer_part($tag,join(', ',@all_answer_info)); |
$result.= &Apache::response::answer_part($tag,join('; ',@all_answer_info)); |
} |
} |
} |
} |
|
|
Line 788 sub end_numericalresponse {
|
Line 787 sub end_numericalresponse {
|
} |
} |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
$target eq 'tex' || $target eq 'analyze') { |
$target eq 'tex' || $target eq 'analyze') { |
&Apache::lonxml::increment_counter($increment); |
if (($tag eq 'formularesponse') && ($target eq 'analyze')) { |
|
my $type = &Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.type'); |
|
if ($type eq 'exam') { |
|
$increment = &Apache::response::repetition(); |
|
} |
|
} |
|
&Apache::lonxml::increment_counter($increment,"$partid.$id"); |
|
if ($target eq 'analyze') { |
|
&Apache::lonhomework::set_bubble_lines(); |
|
} |
} |
} |
&Apache::response::end_response(); |
&Apache::response::end_response(); |
return $result; |
return $result; |
Line 980 sub make_numerical_bubbles {
|
Line 988 sub make_numerical_bubbles {
|
$ind=&Math::Random::random_uniform_integer(1,0,$#factors); |
$ind=&Math::Random::random_uniform_integer(1,0,$#factors); |
my $factor = $factors[$ind]; |
my $factor = $factors[$ind]; |
my @bubble_display; |
my @bubble_display; |
|
my $answerfactor=$answer; |
|
if ($answer==0) { |
|
$answerfactor=&Math::Random::random_uniform_integer(1,1,100)/ |
|
&Math::Random::random_uniform_integer(1,1,10); |
|
} |
for ($ind=0;$ind<$number_of_bubbles;$ind++) { |
for ($ind=0;$ind<$number_of_bubbles;$ind++) { |
$bubble_values[$ind] = $answer*($factor**($power-$powers[$#powers-$ind])); |
$bubble_values[$ind] = $answerfactor*($factor**($power-$powers[$#powers-$ind])); |
$bubble_display[$ind] = &format_number($bubble_values[$ind], |
$bubble_display[$ind] = &format_number($bubble_values[$ind], |
$format,$target,$safeeval); |
$format,$target,$safeeval); |
|
|
} |
} |
my $correct = $alphabet[$number_of_bubbles-$power]; |
my $correct = $alphabet[$number_of_bubbles-$power]; |
|
if ($answer==0) { |
|
$correct='A'; |
|
$bubble_values[0]=0; |
|
$bubble_display[0] = &format_number($bubble_values[0], |
|
$format,$target,$safeeval); |
|
} |
&Math::Random::random_set_seed(@oldseed); |
&Math::Random::random_set_seed(@oldseed); |
return (\@bubble_values,\@bubble_display,$correct); |
return (\@bubble_values,\@bubble_display,$correct); |
} |
} |
Line 1228 sub end_stringresponse {
|
Line 1246 sub end_stringresponse {
|
} |
} |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
$target eq 'tex' || $target eq 'analyze') { |
$target eq 'tex' || $target eq 'analyze') { |
&Apache::lonxml::increment_counter(&Apache::response::repetition()); |
&Apache::lonxml::increment_counter(&Apache::response::repetition(), |
|
"$part.$id"); |
|
if ($target eq 'analyze') { |
|
&Apache::lonhomework::set_bubble_lines(); |
|
} |
} |
} |
&Apache::response::end_response; |
&Apache::response::end_response; |
return $result; |
return $result; |