Diff for /loncom/homework/default_homework.lcpm between versions 1.90 and 1.95

version 1.90, 2004/10/11 16:31:34 version 1.95, 2005/03/28 19:20:54
Line 34  $rad2deg=180.0/$pi; Line 34  $rad2deg=180.0/$pi;
 $deg2rad=$pi/180.0;  $deg2rad=$pi/180.0;
 $"=' ';  $"=' ';
   
   sub check_commas {
       my ($response)=@_;
       #print("$response ");
       my @numbers=split(',',$response);
       #print(" numbers ".join('-',@numbers)." ");
       if (scalar(@numbers) > 1) {
           #print(" numbers[0] ".$numbers[0]." "); 
    if (length($numbers[0]) > 3 || length($numbers[0]) == 0) { return -1; }
    shift(@numbers);
    #print(" numbers ".scalar(@numbers)." ");
    while (scalar(@numbers) > 1) {
       #print(" numbers ".join('-',@numbers)." ");
       if (length($numbers[0]) != 3) { return -2; }
       shift(@numbers);
    }
    my ($number)=split('\.',$numbers[0]);
    #print(" number ".$number." ");
    #print(" numbers[0] ".$numbers[0]." ");
    if (length($number) != 3) { return -3; }
       } else {
    my ($number)=split('\.',$numbers[0]);
    if (length($number) > 3) { return -4; }
       }
       return 1;
   }
   
 sub caparesponse_check {  sub caparesponse_check {
     my ($answer,$response)=@_;      my ($answer,$response)=@_;
     #not properly used yet: calc      #not properly used yet: calc
Line 69  sub caparesponse_check { Line 95  sub caparesponse_check {
  $answer=~s/ +/ /g;   $answer=~s/ +/ /g;
  $response=~s/ +/ /g;   $response=~s/ +/ /g;
     }      }
     if ($type eq 'float') { $response=~s/,//g; }      if ($type eq 'float' && $unit=~/\$/) {
     if ($type eq 'float' && $ans_fmt=~/\$/) {  
  if ($response!~/^\$/)  { return "NO_UNIT: Missing \$ "; }   if ($response!~/^\$/)  { return "NO_UNIT: Missing \$ "; }
  $response=~s/\$//g;   $response=~s/\$//g;
     }      }
       if ($type eq 'float' && $unit=~/\,/ && (&check_commas($response)<0)) {
    return "COMMA_FAIL:";
       }
     $ans_fmt=~s/\W//g;      $ans_fmt=~s/\W//g;
       $unit=~s/[\$,]//g;
       if ($type eq 'float') { $response=~s/,//g; }
   
     if (length($response) > 500) { return "TOO_LONG: Answer too long"; }      if (length($response) > 500) { return "TOO_LONG: Answer too long"; }
   
Line 133  sub caparesponse_check { Line 163  sub caparesponse_check {
     elsif ($result == '9') { $result='ANS_CNT_NOT_MATCH'; }      elsif ($result == '9') { $result='ANS_CNT_NOT_MATCH'; }
     elsif ($result =='10') { $result='SUB_RECORDED'; }      elsif ($result =='10') { $result='SUB_RECORDED'; }
     elsif ($result =='11') { $result='BAD_FORMULA'; }      elsif ($result =='11') { $result='BAD_FORMULA'; }
       elsif ($result =='12' && !$response) { $result='MISSING_ANSWER'; }
       elsif ($result =='12') { $result='WANTED_NUMERIC'; }
     elsif ($result =='13') { $result='UNIT_INVALID_INSTRUCTOR'; }      elsif ($result =='13') { $result='UNIT_INVALID_INSTRUCTOR'; }
     elsif ($result =='141') { $result='UNIT_INVALID_STUDENT'; }      elsif ($result =='141') { $result='UNIT_INVALID_STUDENT'; }
     elsif ($result =='142') { $result='UNIT_INVALID_STUDENT'; }      elsif ($result =='142') { $result='UNIT_INVALID_STUDENT'; }
Line 510  sub chemparse { Line 542  sub chemparse {
  $formula .= '&#8652; ';   $formula .= '&#8652; ';
     } else {      } else {
  $formula .= &web('<=> ','<m>\ensuremath{\rightleftharpoons}</m> ',   $formula .= &web('<=> ','<m>\ensuremath{\rightleftharpoons}</m> ',
  '&lt;=$gt; ');   '&lt;=&gt; ');
     }      }
     next;      next;
  }   }
Line 530  sub chemparse { Line 562  sub chemparse {
     }      }
     # get rid of trailing space      # get rid of trailing space
     $formula =~ s/(\&nbsp\;| )$//;      $formula =~ s/(\&nbsp\;| )$//;
       
     return &xmlparse($formula);      return &xmlparse($formula);
 }  }
   

Removed from v.1.90  
changed lines
  Added in v.1.95


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