WeightedGrader

From WeBWorK_wiki
Revision as of 01:43, 2 November 2009 by Pearson (talk | contribs) (New page: <h2>Matching Problems That Have Static Graphic Images</h2> <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> <em>This code shows how to assign different weights (pe...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Matching Problems That Have Static Graphic Images

This code shows how to assign different weights (percentages) to each answer in a problem.

Problem Techniques Index

PG problem file Explanation
DOCUMENT();

loadMacros(
"PGstandard.pl",
"PGcourse.pl",
"MathObjects.pl",
"weightedGrader.pl",
);

install_weighted_grader();

TEXT(beginproblem);

Initialization: We need to include the weightedGrader.pl macro file and install it.

Context("Numeric");
Context()->variables->add(t=>"Real");
Context()->strings->add(A=>{},B=>{});

$r = random(2,4,1);
$answer1 = Real("pi * $r**2");
$answer2 = Formula("x^2 * t");
$answer3 = String("A");

Set-up: To show how this works with MathObjects, we add some variables and strings to the context.

Context()->texStrings;
BEGIN_TEXT

Enter \( \pi $r^2 \): \{ans_rule(10)\}
Enter \( x^2 t \): \{ans_rule(10)\}
Enter A: \{ans_rule(10)\}

END_TEXT
Context()->normalStrings;

Main Text: Answer boxes are as usual.

$showPartialCorrectAnswers = 0;

WEIGHTED_ANS( ($answer1)->cmp(), 40 );
WEIGHTED_ANS( ($answer2)->cmp(), 40 );
WEIGHTED_ANS( ($answer2)->cmp(), 20 );

ENDDOCUMENT();

Answer Evaluation: Use WEIGHTED_ANS( evaluator, weight) instead of ANS( evaluator ). The code given assigns 40% to each of the first two answers, and 20% to the last answer. The weights should be positive integers that sum to 100.



Problem Techniques Index