[prev in list] [next in list] [prev in thread] [next in thread]
List: lon-capa-cvs
Subject: [LON-CAPA-cvs] cvs: loncom /homework/caparesponse caparesponse.pm
From: albertel <lon-capa-cvs () mail ! lon-capa ! org>
Date: 2003-02-27 22:20:40
Message-ID: cvsalbertel1046384440 () cvsserver
[Download RAW message or body]
albertel Thu Feb 27 17:20:40 2003 EDT
Modified files:
/loncom/homework/caparesponse caparesponse.pm
Log:
- modified random answer gerartion to use new better generator
- no longer always get C as the correct answer
Index: loncom/homework/caparesponse/caparesponse.pm
diff -u loncom/homework/caparesponse/caparesponse.pm:1.79 \
loncom/homework/caparesponse/caparesponse.pm:1.80
--- loncom/homework/caparesponse/caparesponse.pm:1.79 Thu Feb 27 16:20:33 2003
+++ loncom/homework/caparesponse/caparesponse.pm Thu Feb 27 17:20:40 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# caparesponse definition
#
-# $Id: caparesponse.pm,v 1.79 2003/02/27 21:20:33 sakharuk Exp $
+# $Id: caparesponse.pm,v 1.80 2003/02/27 22:20:40 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -144,7 +144,7 @@
$response =~ s/\'/\\\'/g;
&Apache::lonxml::debug("current $response");
my $expression="&caparesponse_check_list('".$response."','".
- $$parstack[$#$parstack];
+ $$parstack[-1];
foreach my $key (keys(%Apache::inputtags::params)) {
$expression.= ';my $'. #'
$key.'="'.$Apache::inputtags::params{$key}.'"';
@@ -223,15 +223,15 @@
my $powers_number = 8; #default values for number of powers
my $symb;
if ($ENV{'form.symb'}=~/___\d+___/) {$symb=$ENV{'form.symb'};} else \
{$symb=$ENV{'request.symb'};}
- srand(&Apache::lonnet::rndseed($symb,$ENV{'request.course.id'},
- \
$ENV{'user.domain'},$ENV{'user.name'}));
- my $ind=1+int(rand()*($factors_number-1));
- my $factor = $factors[$ind];
- $ind=1+int(rand()*($powers_number-1));
+
+ &Apache::response::setrandomnumber();
+ my $ind=&Math::Random::random_uniform_integer(1,0,$#powers);
my $power = $powers[$ind];
+ $ind=&Math::Random::random_uniform_integer(1,0,$#factors);
+ my $factor = $factors[$ind];
for ($ind=0;$ind<$number_of_bubbles;$ind++) {
- $bubbles_values[$ind] = \
$answers[0]*$factor**($power-$powers[$powers_number-$ind-1]);
- }
+ $bubbles_values[$ind] = $answers[0]*($factor**($power-$powers[$#powers-$ind]));
+ }
my @alphabet = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z');
if ($target eq 'web') {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic