Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.79 and 1.82

version 1.79, 2003/02/27 21:20:33 version 1.82, 2003/03/13 16:20:47
Line 144  sub end_numericalresponse { Line 144  sub end_numericalresponse {
  $response =~ s/\'/\\\'/g;   $response =~ s/\'/\\\'/g;
  &Apache::lonxml::debug("current $response");   &Apache::lonxml::debug("current $response");
  my $expression="&caparesponse_check_list('".$response."','".   my $expression="&caparesponse_check_list('".$response."','".
   $$parstack[$#$parstack];      $$parstack[-1];
  foreach my $key (keys(%Apache::inputtags::params)) {   foreach my $key (keys(%Apache::inputtags::params)) {
   $expression.= ';my $'. #'    $expression.= ';my $'. #'
     $key.'="'.$Apache::inputtags::params{$key}.'"';      $key.'="'.$Apache::inputtags::params{$key}.'"';
Line 215  sub end_numericalresponse { Line 215  sub end_numericalresponse {
       my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);        my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);
  my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);   my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);
  my $unit=&Apache::lonxml::get_param_var('unit',$parstack,$safeeval);   my $unit=&Apache::lonxml::get_param_var('unit',$parstack,$safeeval);
    if (defined $unit and $Apache::lonhomework::type eq 'exam') {
     $result.=' \textit{(in} \verb|'.$unit.'|\textit{)} ';
           }
  my $number_of_bubbles = 8; #default values for number of bubbles   my $number_of_bubbles = 8; #default values for number of bubbles
  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
Line 223  sub end_numericalresponse { Line 226  sub end_numericalresponse {
  my $powers_number = 8; #default values for number of powers   my $powers_number = 8; #default values for number of powers
  my $symb;   my $symb;
  if ($ENV{'form.symb'}=~/___\d+___/) {$symb=$ENV{'form.symb'};} else {$symb=$ENV{'request.symb'};}   if ($ENV{'form.symb'}=~/___\d+___/) {$symb=$ENV{'form.symb'};} else {$symb=$ENV{'request.symb'};}
  srand(&Apache::lonnet::rndseed($symb,$ENV{'request.course.id'},  
                                                               $ENV{'user.domain'},$ENV{'user.name'}));   &Apache::response::setrandomnumber();
  my $ind=1+int(rand()*($factors_number-1));   my $ind=&Math::Random::random_uniform_integer(1,0,$#powers);
  my $factor = $factors[$ind];  
  $ind=1+int(rand()*($powers_number-1));  
  my $power = $powers[$ind];   my $power = $powers[$ind];
    $ind=&Math::Random::random_uniform_integer(1,0,$#factors);
    my $factor = $factors[$ind];
  for ($ind=0;$ind<$number_of_bubbles;$ind++) {   for ($ind=0;$ind<$number_of_bubbles;$ind++) {
     $bubbles_values[$ind] = $answers[0]*$factor**($power-$powers[$powers_number-$ind-1]);      $bubbles_values[$ind] = $answers[0]*($factor**($power-$powers[$#powers-$ind]));
  }       }
  my @alphabet = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',   my @alphabet = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
  'Q','R','S','T','U','V','W','X','Y','Z');   'Q','R','S','T','U','V','W','X','Y','Z');
         if ($target eq 'web') {          if ($target eq 'web') {

Removed from v.1.79  
changed lines
  Added in v.1.82


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