AnyAnswerMarkedCorrect: Difference between revisions

From WeBWorK_wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{historical}}
<p style="font-size: 120%;font-weight:bold">This problem has been replaced with [https://openwebwork.github.io/pg-docs/sample-problems/problem-techniques/AnyAnswerMarkedCorrect.html a newer version of this problem]</p>
<h2>Any Answer Marked Correct</h2>
<h2>Any Answer Marked Correct</h2>


Line 52: Line 55:
<pre>
<pre>
Context("Numeric");
Context("Numeric");
Context()->variables->are(x=>"Real",y=>"Real",u=>"Real");


$a = random(2,9,1);
$a = random(2,9,1);
Line 73: Line 75:
Context()->texStrings;
Context()->texStrings;
BEGIN_TEXT
BEGIN_TEXT
Enter anything, e.g. \($a\) and it will be marked correct:
Enter anything, e.g. \($a\) and
it will be marked correct:
\{ans_rule(10) \}.
\{ans_rule(10) \}.


Line 103: Line 106:
<p>
<p>
<b>Answer Evaluation:</b>
<b>Answer Evaluation:</b>
We use the <code>ANS(auto_right("All answers are marked correct"));</code> routine to evaluate the answer.  The phrase in quotes (which can be empty) is displayed when "Show correct answers" is checked.  See [http://webwork.maa.org/pod/pg_TRUNK/macros/PGasu.pl.html PGasu.pl.html] for more options and details.
We use the <code>ANS(auto_right("All answers are marked correct"));</code> routine to evaluate the answer.  The phrase in quotes (which can be empty) is displayed when "Show correct answers" is checked.  See [http://webwork.maa.org/pod/pg/macros/PGasu.html PGasu.pl] for more options and details.
</p>
</p>
</td>
</td>
Line 165: Line 168:
Context()->texStrings;
Context()->texStrings;
BEGIN_TEXT
BEGIN_TEXT
Enter any number, e.g. \($a\) and it will be marked correct:
Enter any number, e.g. \($a\) and it
will be marked correct:
\{ans_rule(10) \}.
\{ans_rule(10) \}.


Line 206: Line 210:
</table>
</table>
<p style="text-align:center;">
<p style="text-align:center;">
[[IndexOfProblemTechniques|Problem Techniques Index]]
[[Problem_Techniques|Problem Techniques Index]]
</p>
</p>


Line 213: Line 217:


<ul>
<ul>
<li>POD documentation: [http://webwork.maa.org/pod/pg_TRUNK/macros/PGasu.pl.html PGasu.pl.html]</li>
<li>POD documentation: [http://webwork.maa.org/pod/pg/macros/PGasu.html PGasu.pl]</li>
<li>PG macro: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/PGasu.pl?view=log PGasu.pl]</li>
<li>PG macro: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/PGasu.pl?view=log PGasu.pl]</li>
</ul>
</ul>

Latest revision as of 20:54, 20 June 2023

This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

This problem has been replaced with a newer version of this problem

Any Answer Marked Correct


This PG code shows how to mark any answer a student submits as correct. There are, as usual, many ways to do this; we show two here, one using a custom answer checker, and one using a special answer checker that marks any answer correct.

Problem Techniques Index

With the Special Answer Checker

PG problem file Explanation
DOCUMENT();
loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"PGasu.pl",
"PGcourse.pl",
);
TEXT(beginproblem()); 

Initialization: We need to include the macros file PGasu.pl, which provides an answer checker that marks any answer submitted as correct.

Context("Numeric");

$a = random(2,9,1);

Setup: Everything is as usual.

Context()->texStrings;
BEGIN_TEXT
Enter anything, e.g. \($a\) and
it will be marked correct:
\{ans_rule(10) \}.


END_TEXT
Context()->normalStrings;

Main Text: The text section is as we'd expect.

$showPartialCorrectAnswers = 1;

ANS(auto_right("All answers are marked correct"));

ENDDOCUMENT();

Answer Evaluation: We use the ANS(auto_right("All answers are marked correct")); routine to evaluate the answer. The phrase in quotes (which can be empty) is displayed when "Show correct answers" is checked. See PGasu.pl for more options and details.

With a Custom Checker

PG problem file Explanation
DOCUMENT();
loadMacros(
"PGstandard.pl",
"MathObjects.pl",
);
TEXT(beginproblem()); 

Initialization: No additions are needed to the initialization section of the file.

Context("Numeric");

$a = Compute(random(2,9,1));

Setup: Everything is as usual. In this case we are going to need a MathObject to do the answer checking, so create one here.

Context()->texStrings;
BEGIN_TEXT
Enter any number, e.g. \($a\) and it
 will be marked correct:
\{ans_rule(10) \}.


END_TEXT
Context()->normalStrings;

Main Text: The text section is as we'd expect.

$showPartialCorrectAnswers = 1;

ANS( $a->cmp( checker=>sub {
    my ( $cor, $stu, $ans ) = @_;
    return 1; } ) );

ENDDOCUMENT();

Answer Evaluation: We use our MathObject to check the answer, but specify a custom answer checker to do the actual checking. Here we return 1 for any answer, so anything will be marked correct. One note about this method: because our MathObject is a real number, it will require that the student's answer be a real number to be marked correct. We could accept any formula or number by specifying $a = Formula(random(2,9,1)) above.

It should also be possible to turn off type checking---we need to document this.

Problem Techniques Index