Diff for /loncom/homework/default_homework.lcpm between versions 1.73 and 1.74

version 1.73, 2004/03/16 15:31:52 version 1.74, 2004/03/16 19:47:47
Line 40  $deg2rad=$pi/180.0; Line 40  $deg2rad=$pi/180.0;
 $"=' ';  $"=' ';
   
 sub caparesponse_check {  sub caparesponse_check {
       my ($answer,$response)=@_;
     #not properly used yet: calc      #not properly used yet: calc
     #not to be used: $ans_fmt      #not to be used: $ans_fmt
     my ($type,$tol,$sig,$ans_fmt,$unit,$calc,$samples) =      my $type=$LONCAPA::CAPAresponse_args{'type'};
  eval $_[2].      my $tol=$LONCAPA::CAPAresponse_args{'tol'};
  ';return ($__LC__type,$__LC__tol,$__LC__sig,$__LC__ans_fmt,$__LC__unit,$__LC__calc,$__LC__samples);';      my $sig=$LONCAPA::CAPAresponse_args{'sig'};
       my $ans_fmt=$LONCAPA::CAPAresponse_args{'ans_fmt'};
       my $unit=$LONCAPA::CAPAresponse_args{'unit'};
       my $calc=$LONCAPA::CAPAresponse_args{'calc'};
       my $samples=$LONCAPA::CAPAresponse_args{'samples'};
           
     my $tol_type=''; # gets it's value from whether tol has a % or not done      my $tol_type=''; # gets it's value from whether tol has a % or not done
     my $sig_lbound=''; #done      my $sig_lbound=''; #done
     my $sig_ubound=''; #done      my $sig_ubound=''; #done
     my ($answer,$response,$expr)=@_;  
   
   
     #type's definitons come from capaParser.h      #type's definitons come from capaParser.h
Line 68  sub caparesponse_check { Line 72  sub caparesponse_check {
     if (length($response) > 500) { return "TOO_LONG: Answer too long"; }      if (length($response) > 500) { return "TOO_LONG: Answer too long"; }
   
     if ($type eq '' ) {      if ($type eq '' ) {
  $message .= "Didn't find a type :$type:$expr: defaulting\n";   $message .= "Didn't find a type :$type: defaulting\n";
  if ( $answer eq ($answer *1.0)) { $type = 2;   if ( $answer eq ($answer *1.0)) { $type = 2;
       } else { $type = 3; }        } else { $type = 3; }
     } else {      } else {
Line 134  sub caparesponse_check { Line 138  sub caparesponse_check {
     elsif ($result =='12') { $result='WANTED_NUMERIC'; }      elsif ($result =='12') { $result='WANTED_NUMERIC'; }
     else  {$result = "ERROR: Unknown Result:$result:$@:";}      else  {$result = "ERROR: Unknown Result:$result:$@:";}
   
     return ("$result:\nRetError $reterror:\nError $error:\nAnswer $answer:\nResponse $response:\n type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|\n$message$expr",$reterror);      return ("$result:\nRetError $reterror:\nError $error:\nAnswer $answer:\nResponse $response:\n type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|\n$message",$reterror);
 }  }
   
   
 sub caparesponse_check_list {  sub caparesponse_check_list {
     my ($response,$expr)=@_;      my $response=$LONCAPA::CAPAresponse_args{'response'};
     my ($result,@list);      my ($result,@list);
     @list=@CAPARESPONSE_CHECK_LIST_answer;      @list=@LONCAPA::CAPAresponse_answer;
     my $aresult='';      my $aresult='';
     my $current_answer;      my $current_answer;
     my $answers=join(':',@list);      my $answers=join(':',@list);
     $result.="Got response :$answers:\n";      $result.="Got response :$answers:\n";
       &LONCAPA_INTERNAL_DEBUG("<blink>Yo!</blink> got ".join(':',%LONCAPA::CAPAresponse_args));
     my @responselist;      my @responselist;
     my $type =eval $expr.';return $__LC__type;';      my $type = $LONCAPA::CAPAresponse_args{'type'};
     $result.="Got type :$type:\n";      $result.="Got type :$type:\n";
     if ($type ne '' && $#list > 0) {      if ($type ne '' && $#list > 0) {
  (@responselist)=split /,/,$response;   (@responselist)=split /,/,$response;
Line 175  sub caparesponse_check_list { Line 180  sub caparesponse_check_list {
  my $thisanswer=$list[$i];   my $thisanswer=$list[$i];
  $result.="trying answer :$thisanswer:\n";   $result.="trying answer :$thisanswer:\n";
  if ($unit eq '') {   if ($unit eq '') {
     ($aresult,$msg)=&caparesponse_check($thisanswer,$responselist[$i],      ($aresult,$msg)=&caparesponse_check($thisanswer,$responselist[$i]);
  $expr);  
  } else {   } else {
     ($aresult,$msg)=&caparesponse_check($thisanswer,      ($aresult,$msg)=&caparesponse_check($thisanswer,
  $responselist[$i]." $unit",   $responselist[$i]." $unit");
  $expr);  
  }   }
  my ($temp)=split /:/, $aresult;   my ($temp)=split /:/, $aresult;
  $awards.="$temp,";   $awards.="$temp,";

Removed from v.1.73  
changed lines
  Added in v.1.74


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