Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.87 and 1.88

version 1.87, 2003/04/07 22:44:32 version 1.88, 2003/04/07 23:14:52
Line 133  sub end_numericalresponse { Line 133  sub end_numericalresponse {
       &Apache::response::setup_params($$tagstack[-1]);        &Apache::response::setup_params($$tagstack[-1]);
       $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);        $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
       my $partid = $Apache::inputtags::part;        my $partid = $Apache::inputtags::part;
         my $id = $Apache::inputtags::response['-1'];
       my $response = &Apache::response::getresponse();        my $response = &Apache::response::getresponse();
       if ( $response =~ /[^\s]/) {        if ( $response =~ /[^\s]/) {
    my $ad;
  my %previous = &Apache::response::check_for_previous($response,$partid,$id);   my %previous = &Apache::response::check_for_previous($response,$partid,$id);
  $Apache::lonhomework::results{"resource.$partid.$id.submission"}=$response;   $Apache::lonhomework::results{"resource.$partid.$id.submission"}=$response;
  &Apache::lonxml::debug("submitted a $response<br>\n");   &Apache::lonxml::debug("submitted a $response<br>\n");
  &Apache::lonxml::debug($$parstack[$#$parstack] . "\n<br>");   &Apache::lonxml::debug($$parstack[$#$parstack] . "\n<br>");
  if ($Apache::lonhomework::type eq 'exam') {   if ($Apache::lonhomework::type eq 'exam' &&
          ($$tagstack[-1] eq 'numericalresponse')) {
       &Apache::response::setrandomnumber();
       #FIXME the 8 here is based off of number of powers need a parameter
       my $ind=&Math::Random::random_uniform_integer(1,0,8);
       if ($ind eq $response) { $ad='CORRECT'; } else { $ad='INCORRECT'; }
  } else {   } else {
     $response =~ s/\\/\\\\/g;      $response =~ s/\\/\\\\/g;
     $response =~ s/\'/\\\'/g;      $response =~ s/\'/\\\'/g;
Line 159  sub end_numericalresponse { Line 165  sub end_numericalresponse {
     $expression.="');";      $expression.="');";
     $result = &Apache::run::run($expression,$safeeval);      $result = &Apache::run::run($expression,$safeeval);
     my ($awards) = split /:/ , $result;      my ($awards) = split /:/ , $result;
     my ($ad) = &Apache::inputtags::finalizeawards(split /,/ , $awards);      ($ad) = &Apache::inputtags::finalizeawards(split /,/ , $awards);
       &Apache::lonxml::debug("$expression");
       &Apache::lonxml::debug("\n<br>result:$result:$Apache::lonxml::curdepth<br>\n");
  }   }
  &Apache::response::handle_previous(\%previous,$ad);   &Apache::response::handle_previous(\%previous,$ad);
  $Apache::lonhomework::results{"resource.$partid.$id.awarddetail"}=$ad;   $Apache::lonhomework::results{"resource.$partid.$id.awarddetail"}=$ad;
  &Apache::lonxml::debug("$expression");  
  &Apache::lonxml::debug("\n<br>result:$result:$Apache::lonxml::curdepth<br>\n");  
  $result='';   $result='';
       }        }
     }      }
Line 222  sub end_numericalresponse { Line 228  sub end_numericalresponse {
  my @bubbles_values = ();    my @bubbles_values = (); 
  my @factors = (1.13,1.17,1.25,1.33,1.45); #default values of factors   my @factors = (1.13,1.17,1.25,1.33,1.45); #default values of factors
  my @powers = (1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0); #default values for powers   my @powers = (1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0); #default values for powers
  my $factors_number = 5; #default values for number of factors  
  my $powers_number = 8; #default values for number of powers  
   
  &Apache::response::setrandomnumber();   &Apache::response::setrandomnumber();
  my $ind=&Math::Random::random_uniform_integer(1,0,$#powers);   my $ind=&Math::Random::random_uniform_integer(1,0,$#powers);
  my $power = $powers[$ind];   my $power = $powers[$ind];

Removed from v.1.87  
changed lines
  Added in v.1.88


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