--- loncom/homework/default_homework.lcpm 2000/12/12 14:54:10 1.13 +++ loncom/homework/default_homework.lcpm 2001/01/03 00:14:47 1.14 @@ -69,7 +69,28 @@ 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:$answer:$response:$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$units"; +} + +sub caparesponse_check_list { + my ($response,$expr)=@_; + my $result=''; + 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; + $unit=~s/\s//; + my $i=0; + my $awards=''; + for ($i=0; $i<@list;$i++) { + $result.=&caparesponse_check($responselist[$i]." $unit", + $expr.';my $answer='.$list[$i].';'); + my ($temp)=split /:/, $result; + $awards.="$temp,"; + } + chop $awards; + return "$awards:$result"; } sub tex {