Diff for /loncom/homework/default_homework.lcpm between versions 1.139 and 1.142

version 1.139, 2008/09/12 09:56:09 version 1.142, 2008/11/26 18:11:52
Line 217  sub caparesponse_check { Line 217  sub caparesponse_check {
   
     my $reterror="";      my $reterror="";
     my $result;      my $result;
     if ((($type eq '9') || ($type eq '8')) && ($response=~/\=/)) { return ('BAD_FORMULA','Please submit just an expression, not an equation.'); }      if (($type eq '9') || ($type eq '8')) {
           if ($response=~/\=/) {
               return ('BAD_FORMULA','Please submit just an expression, not an equation.');
           } elsif ($response =~ /\,/) {
               return ('BAD_FORMULA');
           }
       }
     if ($type eq '9') {      if ($type eq '9') {
       $result = &maxima_check(&maxima_cas_formula_fix($response),&maxima_cas_formula_fix($answer),\$reterror);        $result = &maxima_check(&maxima_cas_formula_fix($response),&maxima_cas_formula_fix($answer),\$reterror);
     } else {      } else {
Line 259  sub caparesponse_check { Line 265  sub caparesponse_check {
   
   
 sub caparesponse_check_list {  sub caparesponse_check_list {
     my ($tag) = @_;  
     my $responses=$LONCAPA::CAPAresponse_args{'response'};      my $responses=$LONCAPA::CAPAresponse_args{'response'};
     &LONCAPA_INTERNAL_DEBUG("args ".join(':',%LONCAPA::CAPAresponse_args));      &LONCAPA_INTERNAL_DEBUG("args ".join(':',%LONCAPA::CAPAresponse_args));
     my $type = $LONCAPA::CAPAresponse_args{'type'};      my $type = $LONCAPA::CAPAresponse_args{'type'};
Line 304  sub caparesponse_check_list { Line 309  sub caparesponse_check_list {
   
     &LONCAPA_INTERNAL_DEBUG("Initial final response :$responses->[0][-1]:");      &LONCAPA_INTERNAL_DEBUG("Initial final response :$responses->[0][-1]:");
     my $unit;      my $unit;
     if (($type eq 'float') || (($type eq '') && (($tag ne 'stringresponse') && ($tag ne 'stringhint')) ) ) {      if ($type eq 'float' || $type eq '') {
  #for numerical problems split off the unit   #for numerical problems split off the unit
 # if ( $responses->[0][-1]=~ /(.*[^\s])\s+([^\s]+)/ ) {  # if ( $responses->[0][-1]=~ /(.*[^\s])\s+([^\s]+)/ ) {
         if ( $responses->[0][-1]=~ /^([\d\.\,\s\$]*(?:(?:[xX\*]10[\^\*]*|[eE]*)[\+\-]*\d*)*(?:^|\S)\d+)([\$\s\w\^\*\/\(\)\+\-]*[^\d\.\s\,][\$\s\w\^\*\/\(\)\+\-]*)$/ ) {          if ( $responses->[0][-1]=~ /^([\d\.\,\s\$]*(?:(?:[xX\*]10[\^\*]*|[eE]*)[\+\-]*\d*)*(?:^|\S)\d+)([\$\s\w\^\*\/\(\)\+\-]*[^\d\.\s\,][\$\s\w\^\*\/\(\)\+\-]*)$/ ) {
Line 321  sub caparesponse_check_list { Line 326  sub caparesponse_check_list {
               $element =~ s/\s//g;                $element =~ s/\s//g;
           }            }
           my $appendunit=$unit;            my $appendunit=$unit;
           if ($unit=~/\%/) {            if (($unit=~/\%/) && ($answerunit ne '%'))  {
              $element=$element/100;               $element=$element/100;
              $appendunit=~s/\%//;               $appendunit=~s/\%//;
           }                }    

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


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