[LON-CAPA-cvs] cvs: loncom /homework functionplotresponse.pm

www www at source.lon-capa.org
Mon Nov 21 15:48:50 EST 2011


www		Mon Nov 21 20:48:50 2011 EDT

  Modified files:              
    /loncom/homework	functionplotresponse.pm 
  Log:
  Sum vector rule working
  
  
Index: loncom/homework/functionplotresponse.pm
diff -u loncom/homework/functionplotresponse.pm:1.82 loncom/homework/functionplotresponse.pm:1.83
--- loncom/homework/functionplotresponse.pm:1.82	Mon Nov 21 20:20:48 2011
+++ loncom/homework/functionplotresponse.pm	Mon Nov 21 20:48:50 2011
@@ -1,7 +1,7 @@
 # LearningOnline Network with CAPA
 # Functionplot responses
 #
-# $Id: functionplotresponse.pm,v 1.82 2011/11/21 20:20:48 www Exp $
+# $Id: functionplotresponse.pm,v 1.83 2011/11/21 20:48:50 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1528,6 +1528,34 @@
       $sumy+=$ry;
    }
    &addlog("Sum vector ($sumx,$sumy)");
+   if ($length ne '') {
+      &addlog("Checking length $length with error $lengtherror");
+      $length=&Apache::run::run($length,$safeeval);
+      &addlog("Evaluated to $length");
+      my $thislength=&vectorlength($sumx,$sumy);
+      &addlog("Actual length $thislength");
+      if (abs($length-$thislength)>$lengtherror) {
+                  &setfailed($label);
+         return 0;
+      }
+   }
+   if ($angle ne '') {
+      &addlog("Checking angle $angle with error $angleerror");
+      $angle=&Apache::run::run($angle,$safeeval);
+      &addlog("Evaluated to $angle");
+      my $thisangle=&vectorangle($sumx,$sumy);
+      &addlog("Actual angle $thisangle");
+      my $anglediff=abs($thisangle-$angle);
+      &addlog("Angle difference: $anglediff");
+      if ($anglediff>360.-$anglediff) {
+         $anglediff=360.-$anglediff;
+      }
+      &addlog("Smallest angle difference: $anglediff");
+      if ($anglediff>$angleerror) {
+         &setfailed($label);
+         return 0;
+      }
+   }
    &addlog("Rule $label passed.");
    return 1;
 }




More information about the LON-CAPA-cvs mailing list