--- loncom/homework/default_homework.lcpm 2001/01/03 00:14:47 1.14 +++ loncom/homework/default_homework.lcpm 2001/01/16 20:15:40 1.15 @@ -69,28 +69,36 @@ sub caparesponse_check { elsif ($result =='12') { $result='WANTED_NUMERIC'; } else {$result = "ERROR: Unknown Result:$result:$@:";} - return "$result:$error:$answer:$response:$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; - ($responselist['-1'],my $unit)= split /\s/, $responselist['-1'], 2; + 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++) { - $result.=&caparesponse_check($responselist[$i]." $unit", + $aresult=&caparesponse_check($responselist[$i]." $unit", $expr.';my $answer='.$list[$i].';'); - my ($temp)=split /:/, $result; + my ($temp)=split /:/, $aresult; $awards.="$temp,"; + $result.=$aresult; } chop $awards; - return "$awards:$result"; + return "$awards:
$result"; } sub tex {