--- loncom/homework/default_homework.lcpm 2000/10/13 14:58:49 1.6 +++ loncom/homework/default_homework.lcpm 2000/10/30 20:24:38 1.8 @@ -4,6 +4,41 @@ # $RANDOMINIT=0; +sub caparesponse_check { + my $answer=''; + my $type=''; + my $tol_type=''; + my $tolerance=''; + my $sig_lbound=''; + my $sig_ubound=''; + my $ans_fmt=''; + my $unit_str=''; + my $calc=''; + my ($response,$expr)=@_; + + ($answer,$type,$tol_type,$tolerance,$sig_lbound,$sig_ubound,$ans_fmt, + $unit_str,$calc) = eval $expr.'return $answer,$type,$tol_type,$tolerance,$sig_lbound,$sig_ubound,$ans_fmt,$unit_str,$calc'; + + #type's definitons come from capaParser.h + if ($type eq '' ) { + if ( $answer eq ($answer *1.0)) { $type = 2; + } else { $type = 3; } + } else { + if ($type eq 'cs') { $type = 4; + } elsif ($type eq 'ci') { $type = 3; + } elsif ($type eq 'mc') { $type = 5; + } elsif ($type eq 'fml') { $type = 8; + } elsif ($type eq 'subj') { $type = 7;} + } + + + my $result = &caparesponse_capa_check_answer($response,$answer,$type, + $tol_type,$tolerance, + $sig_lbound,$sig_ubound, + $ans_fmt, $unit_str,$calc); + return ":$result:$response:$answer:"; +} + sub tex { if ( $external::target eq "tex" ) { #$SCRIPT_RESULT.=@_[0];