version 1.107, 2006/06/13 14:57:54
|
version 1.108, 2006/06/30 21:24:27
|
Line 152 sub caparesponse_check {
|
Line 152 sub caparesponse_check {
|
my $reterror=""; |
my $reterror=""; |
my $result; |
my $result; |
if ($type eq '9') { |
if ($type eq '9') { |
$result = &maxima_check($response,$answer,\$reterror); |
$result = &maxima_check(&maxima_cas_formula_fix($response),&maxima_cas_formula_fix($answer),\$reterror); |
} else { |
} else { |
$result = &caparesponse_capa_check_answer($response,$answer,$type, |
$result = &caparesponse_capa_check_answer(&capa_formula_fix($response),&capa_formula_fix($answer),$type, |
$tol_type,$tol, |
$tol_type,$tol, |
$sig_lbound,$sig_ubound, |
$sig_lbound,$sig_ubound, |
$ans_fmt,$unit,$calc,$id_list, |
$ans_fmt,$unit,$calc,$id_list, |
Line 184 sub caparesponse_check {
|
Line 184 sub caparesponse_check {
|
return ("$result:\nRetError $reterror:\nAnswer $answer:\nResponse $response:\n type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|\n$message",$reterror); |
return ("$result:\nRetError $reterror:\nAnswer $answer:\nResponse $response:\n type-$type|$tol|$tol_type|$sig:$sig_lbound:$sig_ubound|$unit|\n$message",$reterror); |
} |
} |
|
|
|
sub maxima_cas_formula_fix { |
|
my ($expression)=@_; |
|
return &implicit_multiplication($expression); |
|
} |
|
|
|
sub capa_formula_fix { |
|
my ($expression)=@_; |
|
return &implicit_multiplication($expression); |
|
} |
|
|
|
sub implicit_multiplication { |
|
my ($expression)=@_; |
|
$expression=~s/\s+/\*/g; |
|
$expression=~s/(\d)([a-zA-Z\(])/$1\*$2/g; |
|
$expression=~s/\)(\w)/\)\*$1/g; |
|
return $expression; |
|
} |
|
|
sub caparesponse_check_list { |
sub caparesponse_check_list { |
my $response=$LONCAPA::CAPAresponse_args{'response'}; |
my $response=$LONCAPA::CAPAresponse_args{'response'}; |