ExplicitSequence1: Difference between revisions

From WeBWorK_wiki
Jump to navigation Jump to search
No edit summary
No edit summary
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 01:58, 2 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