Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.136 and 1.139

version 1.136, 2004/02/26 21:13:54 version 1.139, 2004/03/12 16:55:35
Line 133  sub end_numericalresponse { Line 133  sub end_numericalresponse {
  my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit');   my $hideunit=&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffunit');
   
  foreach my $key (keys(%Apache::inputtags::params)) {   foreach my $key (keys(%Apache::inputtags::params)) {
     $expression.= ';my $'. #'      $expression.= ';my $__LC__'. #'
  $key.'="'.$Apache::inputtags::params{$key}.'"';   $key.'="'.$Apache::inputtags::params{$key}.'"';
  }   }
   
  #no way to enter units, with radio buttons   #no way to enter units, with radio buttons
  if ($Apache::lonhomework::type eq 'exam' ||   if ($Apache::lonhomework::type eq 'exam' ||
     lc($hideunit) eq "yes") {      lc($hideunit) eq "yes") {
     $expression.=';my $unit=undef;';      $expression.=';my $__LC__unit=undef;';
  }   }
  #sig fig don't make much sense either   #sig fig don't make much sense either
  if (($Apache::lonhomework::type eq 'exam' ||   if (($Apache::lonhomework::type eq 'exam' ||
      $ENV{'form.submitted'} eq 'scantron') &&       $ENV{'form.submitted'} eq 'scantron') &&
     $tag eq 'numericalresponse') {      $tag eq 'numericalresponse') {
     $expression.=';my $sig=undef;';      $expression.=';my $__LC__sig=undef;';
  }   }
   
  if ($tag eq 'formularesponse') {   if ($tag eq 'formularesponse') {
     $expression.=';my $type="fml";';      $expression.=';my $__LC__type="fml";';
  } elsif ($tag eq 'numericalresponse') {   } elsif ($tag eq 'numericalresponse') {
     $expression.=';my $type="float";';      $expression.=';my $__LC__type="float";';
  }   }
  $expression.="');";   $expression.="');";
  my @answer=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);   my @answer=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);
Line 382  sub get_table_sizes { Line 382  sub get_table_sizes {
     my $cell_width=0;      my $cell_width=0;
     foreach my $member (@$rbubble_values) {      foreach my $member (@$rbubble_values) {
  my $cell_width_real=0;   my $cell_width_real=0;
  if ($member=~/(\d*)\.?(\d*)(E|e)(\+|-)?(\d*)/) {   if ($member=~/(\+|-)?(\d*)\.?(\d*)\s*\$\\times\s*10\^{(\+|-)?(\d+)}\$/) {
       $cell_width_real=(length($2)+length($3)+length($5)+7)*$scale;
    } elsif ($member=~/(\d*)\.?(\d*)(E|e)(\+|-)?(\d*)/) {
     $cell_width_real=(length($1)+length($2)+length($5)+9)*$scale;      $cell_width_real=(length($1)+length($2)+length($5)+9)*$scale;
  } elsif ($member=~/(\d*)\.(\d*)/) {          } elsif ($member=~/(\d*)\.(\d*)/) {
     $cell_width_real=(length($1)+length($2)+3)*$scale;      $cell_width_real=(length($1)+length($2)+3)*$scale;
  } else {   } else {
     $cell_width_real=(length($member)+1)*$scale;      $cell_width_real=(length($member)+1)*$scale*0.9;
  }   }
  if ($cell_width_real>$cell_width) {$cell_width=$cell_width_real;}   if ($cell_width_real>$cell_width) {$cell_width=$cell_width_real;}
     }      }
Line 461  sub make_numerical_bubbles { Line 463  sub make_numerical_bubbles {
     &Apache::lonxml::debug("Answer was :$answer: returning :".$#bubble_values.": whih are :".join(':',@bubble_values));      &Apache::lonxml::debug("Answer was :$answer: returning :".$#bubble_values.": whih are :".join(':',@bubble_values));
     &Math::Random::random_set_seed(@oldseed);      &Math::Random::random_set_seed(@oldseed);
     if (defined($format) && $format ne '') {      if (defined($format) && $format ne '') {
  for(my $i=0;$i<=$#bubble_values;$i++) {   foreach my $value (@bubble_values) {
     $bubble_values[$i]=&format_number($bubble_values[$i],$format,$target);      $value=&format_number($value,$format,$target);
  }   }
     }      }
     return @bubble_values;      return @bubble_values;

Removed from v.1.136  
changed lines
  Added in v.1.139


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>