Difference between revisions of "ExplicitSequence1"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 86: Line 86:
 
<p>
 
<p>
 
<b>Setup:</b>
 
<b>Setup:</b>
We set the test points to be positive integers to avoid errors when evaluating the answer. We create an array of strings <code>@seq</code> and use Perl's join function to paste the entries in this array together into one long string with entries separated by commas.
+
We set the test points to be positive integers to avoid errors when evaluating the answer. Even if you expect students to enter answers such as <code>cos(pi * n) / n!</code>, you should still restrict the domain to positive integers, because some students may simplify this to <code>(-1)^n / n!</code> and receive errors because the answer checker is substituting things such as <code>n=0.5</code> into their formula.
  +
</p>
  +
<p>
  +
We create an array of strings <code>@seq</code> and use Perl's join function to paste the entries in this array together into one long string with entries separated by commas.
 
</p>
 
</p>
 
</td>
 
</td>

Revision as of 20:58, 1 December 2010

Sequences with Explicit Formulas

This PG code shows how to evaluate answers that are (possibly alternating) sequences with explicit formulas.

  • Download file: File:Sequences2.txt (change the file extension from txt to pg when you save it)
  • File location in NPL: NationalProblemLibrary/FortLewis/Authoring/Templates/IntegralCalc/Sequences2.pg

Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

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

TEXT(beginproblem());

Initialization:

Context("Numeric");
Context()->variables->are(n=>"Real");

$answer = Compute("(-1)^n / n!");
$answer->{test_points} = [[1],[2],[3],[4],[5],[6]];

@seq = (
"a_0 = 1",
"a_1 = -1",
"a_2 = \frac{1}{2}",
"a_3 = -\frac{1}{6}",
"a_4 = \frac{1}{24}",
"a_5 = -\frac{1}{120}",
"\ldots"
);

$sequence = join(", ", @seq);

Setup: We set the test points to be positive integers to avoid errors when evaluating the answer. Even if you expect students to enter answers such as cos(pi * n) / n!, you should still restrict the domain to positive integers, because some students may simplify this to (-1)^n / n! and receive errors because the answer checker is substituting things such as n=0.5 into their formula.

We create an array of strings @seq and use Perl's join function to paste the entries in this array together into one long string with entries separated by commas.

Context()->texStrings;
BEGIN_TEXT
Find a formula for \( n^{th} \) term of the sequence \( $sequence \).
$BR
$BR
\( a_n = \)
\{ ans_rule(20) \}
\{ AnswerFormatHelp("formulas") \}
END_TEXT
Context()->normalStrings;

Main Text:

$showPartialCorrectAnswers = 1;

ANS( $answer->cmp() );

Answer Evaluation:

Context()->texStrings;
BEGIN_SOLUTION
${PAR}SOLUTION:${PAR}
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;

COMMENT('MathObject version.');

ENDDOCUMENT();

Solution:

Templates by Subject Area