ExplicitSequence1

From WeBWorK_wiki
Revision as of 18:13, 5 December 2010 by Pearson (talk | contribs)
Jump to navigation Jump to search

Sequences with Explicit Formulas

Click to enlarge

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

  • Download file: File:ExplicitSequence1.txt (change the file extension from txt to pg when you save it)
  • File location in NPL: FortLewis/Authoring/Templates/Sequences/ExplicitSequences.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