--- loncom/imspackages/imsprocessor.pm 2005/05/28 01:32:32 1.21 +++ loncom/imspackages/imsprocessor.pm 2005/07/13 17:42:53 1.23 @@ -2893,8 +2893,10 @@ sub write_webct4_questions { $resourcedata{$symb.'randomize'} = 'yes'; $resourcedata{$symb.'maxfoils'} = 10; if ($context eq 'CSTR') { - $output = qq| + unless ($$settings{$id}{class} eq 'numerical') { + $output = qq| |; + } } $$total{prob} ++; if (exists($$settings{$id}{uri})) { @@ -3254,6 +3256,11 @@ sub write_webct4_questions { |; foreach my $numid (@{$$settings{$id}{numids}}) { my $formula = $$settings{$id}{$numid}{formula}; + $formula =~ s/ln/\&log/g; + $formula =~ s/sqrt/\&sqrt/g; + $formula =~ s/sin/\&sin/g; + $formula =~ s/cos/\&cos/g; + $formula =~ s/exp/\&exp/g; foreach my $var (keys %{$$settings{$id}{$numid}{vars}}) { my $decnum = $$settings{$id}{$numid}{vars}{$var}{dec}; my $increment = '0.'; @@ -3267,9 +3274,7 @@ sub write_webct4_questions { } $increment .= '1'; } - $formula =~ s/{($var)}/\$$1/g; - $formula =~ s/ln\(?([^\)])\)?/ &log($1) /g; - $formula =~ s/sqrt/\&sqrt/g; + $formula =~ s/{($var)}/(\$$1)/g; $scriptblock .= qq| \$$var=&random($$settings{$id}{$numid}{vars}{$var}{min},$$settings{$id}{$numid}{vars}{$var}{max},$increment); |; @@ -3279,7 +3284,7 @@ sub write_webct4_questions { |; if ($context eq 'CSTR') { - $output = $scriptblock.$output; + $output = "\n".$scriptblock.$output; my $ansformat = ''; my $sigfig = '0,15'; if ($$settings{$id}{$numid}{format} eq 'sig') {