--- loncom/homework/default_homework.lcpm 2000/12/12 14:54:10 1.13
+++ loncom/homework/default_homework.lcpm 2001/01/16 20:15:40 1.15
@@ -69,7 +69,36 @@ sub caparesponse_check {
elsif ($result =='12') { $result='WANTED_NUMERIC'; }
else {$result = "ERROR: Unknown Result:$result:$@:";}
- return "$result:$error:$answer:$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$units";
+ return "$result:
Error $error:
Answer $answer:
Response $response:
$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$units
";
+}
+
+sub caparesponse_check_list {
+ my ($response,$expr)=@_;
+ my $result='';
+ my $aresult='';
+ my $current_answer;
+ my $answer = eval $expr.';return $answer';
+ my (@list) = eval $answer;
+ my (@responselist)=split /,/,$response;
+ my $unit='';
+ $result.="Final response :$responselist['-1']:
";
+ if ( $responselist['-1']=~ /(.*[^\s])\s+([^\s]+)/ ) {
+ $responselist['-1']=$1;
+ $unit=$2;
+ }
+ $result.="Final response :$responselist['-1']:
";
+ $unit=~s/\s//;
+ my $i=0;
+ my $awards='';
+ for ($i=0; $i<@list;$i++) {
+ $aresult=&caparesponse_check($responselist[$i]." $unit",
+ $expr.';my $answer='.$list[$i].';');
+ my ($temp)=split /:/, $aresult;
+ $awards.="$temp,";
+ $result.=$aresult;
+ }
+ chop $awards;
+ return "$awards:
$result";
}
sub tex {