Diff for /loncom/homework/default_homework.lcpm between versions 1.38 and 1.39

version 1.38, 2001/10/05 22:28:31 version 1.39, 2001/10/29 21:15:44
Line 15  $deg2rad=$pi/180.0; Line 15  $deg2rad=$pi/180.0;
 sub caparesponse_check {  sub caparesponse_check {
   #not properly used yet: calc    #not properly used yet: calc
   #not to be used: $ans_fmt    #not to be used: $ans_fmt
   my ($answer,$type,$tol,$sig,$ans_fmt,$unit,$calc) =     my ($answer,$type,$tol,$sig,$ans_fmt,$unit,$calc,$samples) =
  eval $_[1].';return ($answer,$type,$tol,$sig,$ans_fmt,$unit,$calc);';      eval $_[1].
         ';return ($answer,$type,$tol,$sig,$ans_fmt,$unit,$calc,$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
Line 47  sub caparesponse_check { Line 48  sub caparesponse_check {
     } else { return "ERROR: Unknown type of answer: $type" }      } else { return "ERROR: Unknown type of answer: $type" }
   }    }
   
     my $points;
     my $id_list;
     #formula type setup the sample points
     if ($type eq '8') {
       ($id_list,$points)=split(/@/,$samples);
       $message.="Found :$points: points<br />";
     }
   if ($tol eq '') {    if ($tol eq '') {
     $tol=0.0;      $tol=0.0;
     $tol_type=1; #TOL_ABSOLUTE      $tol_type=1; #TOL_ABSOLUTE
Line 68  sub caparesponse_check { Line 76  sub caparesponse_check {
   my $result = &caparesponse_capa_check_answer($response,$answer,$type,    my $result = &caparesponse_capa_check_answer($response,$answer,$type,
        $tol_type,$tol,         $tol_type,$tol,
        $sig_lbound,$sig_ubound,         $sig_lbound,$sig_ubound,
        $ans_fmt,$unit,$calc);         $ans_fmt,$unit,$calc,$id_list,
          $points,$external::randomseed);
   
   if    ($result == '1') { $result='EXACT_ANS'; }     if    ($result == '1') { $result='EXACT_ANS'; } 
   elsif ($result == '2') { $result='APPROX_ANS'; }    elsif ($result == '2') { $result='APPROX_ANS'; }
Line 92  sub get_array_args { Line 101  sub get_array_args {
   # do these first, because who knows what varname the instructor might have used    # do these first, because who knows what varname the instructor might have used
   # but it probably isn't $CAPARESPONSE_CHECK_LIST_answer    # but it probably isn't $CAPARESPONSE_CHECK_LIST_answer
   my $CAPARESPONSE_CHECK_LIST_answer = eval $expr.';return $'.$arg; #'    my $CAPARESPONSE_CHECK_LIST_answer = eval $expr.';return $'.$arg; #'
   my (@list) = eval $CAPARESPONSE_CHECK_LIST_answer;    if ($CAPARESPONSE_CHECK_LIST_answer =~ /^\s*[\$\@]/) {
       my (@list) = eval $CAPARESPONSE_CHECK_LIST_answer;
     }
   my $result='';    my $result='';
   $result.="error:$@:<br />";    $result.="error:$@:<br />";
   # if the eval fails just use what is in the answer exactly    # if the eval fails just use what is in the answer exactly
Line 108  sub caparesponse_check_list { Line 119  sub caparesponse_check_list {
   my (@list) = &get_array_args($expr,'answer');    my (@list) = &get_array_args($expr,'answer');
   my $aresult='';    my $aresult='';
   my $current_answer;    my $current_answer;
   $result.="Got response :$CAPARESPONSE_CHECK_LIST_answer:$list[0]:<br />";    my $answers=join(':',@list);
     $result.="Got response :$answers:<br />";
   my @responselist;    my @responselist;
   my $type =eval $expr.';return $answer;';    my $type =eval $expr.';return $answer;';
   if ($type ne '' && $#list > 0) {    if ($type ne '' && $#list > 0) {

Removed from v.1.38  
changed lines
  Added in v.1.39


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