Difference between revisions of "PanicButton"

From WeBWorK_wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by 2 users not shown)
Line 128: Line 128:
   
 
<ul>
 
<ul>
<li>POD documentation: [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/problemPanic.pl.html problemPanic.pl.html]</li>
+
<li>POD documentation: [http://webwork.maa.org/pod/pg/macros/problemPanic.html problemPanic.pl]</li>
<li>PG macro: [http://cvs.webwork.rochester.edu/viewcvs.cgi/pg/macros/problemPanic.pl problemPanic.pl]</li>
+
<li>PG macro: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/problemPanic.pl?view=log problemPanic.pl]</li>
 
</ul>
 
</ul>

Latest revision as of 17:08, 7 April 2021

Panic Button for Answer Hints with a Penalty


This PG code shows how to implement a panic button for answer hints with a penalty.

Problem Techniques Index

PG problem file Explanation
DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"problemPanic.pl",
);

TEXT(beginproblem());

Initialization: We need to include the macros file problemPanic.pl.

Context("Numeric");

$answer = Real("sin(pi/3)");

Setup: Everything is standard

BEGIN_TEXT
\( \sin(\pi/3) \) = \{ ans_rule(10) \}
$PAR
\{ Panic::Button(label => "Request a Hint (25% Penalty)", penalty => .25) \}
END_TEXT

if ($panicked) {
BEGIN_TEXT
$PAR
${BBOLD}Hint:${EBOLD} The answer is greater than \( 1/2 \).
$PAR
\{Panic::Button(label => "Another Hint (25% Penalty)", penalty => .25)\}
END_TEXT

# if you want a secondary hint
if ($panicked > 1) {
BEGIN_TEXT
${BBOLD}Hint:${EBOLD} The answer is greater than \( \sqrt{2}/2 \).
END_TEXT
}

}

Main Text: We can construct a hint button that has a penalty associated with it.

$showPartialCorrectAnswers = 1;

# install_problem_grader(~~&avg_problem_grader);

Panic::GradeWithPenalty();

ANS( $answer->cmp() );

ENDDOCUMENT();

Answer Evaluation: We must issue the command Panic::GradeWithPenalty(); after installing a problem grader. The avg_problem_grader is the default, which is why we commented out its installation. If we were to use a different problem grader, we would need to uncomment and modify this line of code.

Problem Techniques Index