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

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 21 Apr 2003 22:09:47 -0000


albertel		Mon Apr 21 18:09:47 2003 EDT

  Modified files:              
    /loncom/homework	optionresponse.pm 
  Log:
  - optionresponse now supports partially correct problems in scantron mode
  
  
Index: loncom/homework/optionresponse.pm
diff -u loncom/homework/optionresponse.pm:1.74 loncom/homework/optionresponse.pm:1.75
--- loncom/homework/optionresponse.pm:1.74	Mon Apr  7 18:28:08 2003
+++ loncom/homework/optionresponse.pm	Mon Apr 21 18:09:47 2003
@@ -1,7 +1,7 @@
 # LearningOnline Network with CAPA
 # option list style responses
 #
-# $Id: optionresponse.pm,v 1.74 2003/04/07 22:28:08 albertel Exp $
+# $Id: optionresponse.pm,v 1.75 2003/04/21 22:09:47 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -210,24 +210,36 @@
 	my %previous=&Apache::response::check_for_previous($responsestr,
 							   $part,$id);
 	&Apache::lonxml::debug("Got $right right and $wrong wrong, and $ignored were ignored");
-	my $ad;
-	if ($wrong==0 && $ignored==0) {
-	  $ad='EXACT_ANS';
-	} elsif ($wrong==0 && $right==0) {
-	  #nothing submitted
-	} else {
-	  if ($ignored==0) {
-	    $ad='INCORRECT';
-	  } else {
-	    $ad='MISSING_ANSWER';
-	  }
-	}
 	$Apache::lonhomework::results{"resource.$part.$id.submission"}=
-	  $responsestr;
+	    $responsestr;
 	$Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=$gradestr;
-	$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=
-	  $ad;
-	&Apache::response::handle_previous(\%previous,$ad);
+	
+	if (!$Apache::lonhomework::scantronmode) {
+	    my $ad;
+	    if ($wrong==0 && $ignored==0) {
+		$ad='EXACT_ANS';
+	    } elsif ($wrong==0 && $right==0) {
+		#nothing submitted
+	    } else {
+		if ($ignored==0) {
+		    $ad='INCORRECT';
+		} else {
+		    $ad='MISSING_ANSWER';
+		}
+	    }
+	    $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$ad;
+	    &Apache::response::handle_previous(\%previous,$ad);
+	} else {
+	    my $ad;
+	    if ($wrong==0 && $right==0) {
+		#nothing submitted
+	    } else {
+		$ad='ASSIGNED_SCORE';
+	    }
+	    $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$ad;
+	    $Apache::lonhomework::results{"resource.$part.$id.awarded"}=
+		$right/(scalar(@whichopt));
+	}
       }
     }
     &Apache::lonxml::increment_counter(&getfoilcounts($max));