Difference between revisions of "ExplicitSequence1"
Jump to navigation
Jump to search
Paultpearson (talk | contribs) (PGML example link) |
(add historical tag and give links to newer problems.) |
||
(One intermediate revision by the same user 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/Sequences/ExplicitSequence.html a newer version of this problem]</p> |
||
+ | |||
<h2>Sequences with Explicit Formulas</h2> |
<h2>Sequences with Explicit Formulas</h2> |
||
Line 5: | Line 9: | ||
This PG code shows how to evaluate answers that are (possibly alternating) sequences with explicit formulas. |
This PG code shows how to evaluate answers that are (possibly alternating) sequences with explicit formulas. |
||
</p> |
</p> |
||
− | * File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Sequences/ExplicitSequence1.pg FortLewis/Authoring/Templates/Sequences/ExplicitSequence1.pg] |
+ | <!--* File location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Sequences/ExplicitSequence1.pg FortLewis/Authoring/Templates/Sequences/ExplicitSequence1.pg]--> |
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Sequences/ExplicitSequence1_PGML.pg FortLewis/Authoring/Templates/Sequences/ExplicitSequence1_PGML.pg] |
* PGML location in OPL: [https://github.com/openwebwork/webwork-open-problem-library/blob/master/OpenProblemLibrary/FortLewis/Authoring/Templates/Sequences/ExplicitSequence1_PGML.pg FortLewis/Authoring/Templates/Sequences/ExplicitSequence1_PGML.pg] |
||
Line 16: | Line 20: | ||
<tr valign="top"> |
<tr valign="top"> |
||
− | <th> PG problem file </th> |
+ | <th style="width: 50%"> PG problem file </th> |
<th> Explanation </th> |
<th> Explanation </th> |
||
</tr> |
</tr> |
||
Line 42: | Line 46: | ||
DOCUMENT(); |
DOCUMENT(); |
||
− | loadMacros( |
||
+ | loadMacros('PGstandard.pl','MathObjects.pl','PGML.pl','PGcourse.pl'); |
||
− | "PGstandard.pl", |
||
− | "MathObjects.pl", |
||
− | "AnswerFormatHelp.pl", |
||
− | ); |
||
− | |||
TEXT(beginproblem()); |
TEXT(beginproblem()); |
||
</pre> |
</pre> |
||
Line 64: | Line 63: | ||
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
<td style="background-color:#ffffdd;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context( |
+ | Context('Numeric'); |
− | Context()->variables->are(n=> |
+ | Context()->variables->are(n=>'Real'); |
$answer = Compute("(-1)^n / n!"); |
$answer = Compute("(-1)^n / n!"); |
||
$answer->{test_points} = [[1],[2],[3],[4],[5],[6]]; |
$answer->{test_points} = [[1],[2],[3],[4],[5],[6]]; |
||
− | @seq = ( |
||
+ | $sequence = 'a_0=1, a_1 = -1, a_2 = \frac{1}{2}, a_3 = -\frac{1}{6}' |
||
− | "a_0 = 1", |
||
+ | . 'a_4 = \frac{1}{24}, a_5 = -\frac{1}{120}, \ldots'; |
||
− | "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); |
||
</pre> |
</pre> |
||
</td> |
</td> |
||
Line 87: | Line 77: | ||
<b>Setup:</b> |
<b>Setup:</b> |
||
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. |
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> |
||
Line 99: | Line 86: | ||
<td style="background-color:#ffdddd;border:black 1px dashed;"> |
<td style="background-color:#ffdddd;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context()->texStrings; |
||
+ | BEGIN_PGML |
||
− | BEGIN_TEXT |
||
+ | Find a formula for [` n^{th} `] term of the sequence [` [$sequence] `]. |
||
− | Find a formula for \( n^{th} \) term of the sequence \( $sequence \). |
||
+ | |||
− | $BR |
||
+ | [` a_n = `] [__________________]{$answer} |
||
− | $BR |
||
+ | |||
− | \( a_n = \) |
||
+ | [@ helpLink('formulas') @]* |
||
− | \{ ans_rule(20) \} |
||
+ | END_PGML |
||
− | \{ AnswerFormatHelp("formulas") \} |
||
− | END_TEXT |
||
− | Context()->normalStrings; |
||
</pre> |
</pre> |
||
<td style="background-color:#ffcccc;padding:7px;"> |
<td style="background-color:#ffcccc;padding:7px;"> |
||
Line 116: | Line 100: | ||
</td> |
</td> |
||
</tr> |
</tr> |
||
− | |||
− | <!-- Answer evaluation section --> |
||
− | |||
− | <tr valign="top"> |
||
− | <td style="background-color:#eeddff;border:black 1px dashed;"> |
||
− | <pre> |
||
− | $showPartialCorrectAnswers = 1; |
||
− | |||
− | ANS( $answer->cmp() ); |
||
− | </pre> |
||
− | <td style="background-color:#eeccff;padding:7px;"> |
||
− | <p> |
||
− | <b>Answer Evaluation:</b> |
||
− | </p> |
||
− | </td> |
||
− | </tr> |
||
− | |||
<!-- Solution section --> |
<!-- Solution section --> |
||
Line 138: | Line 105: | ||
<td style="background-color:#ddddff;border:black 1px dashed;"> |
<td style="background-color:#ddddff;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | Context()->texStrings; |
||
+ | BEGIN_PGML_SOLUTION |
||
− | BEGIN_SOLUTION |
||
Solution explanation goes here. |
Solution explanation goes here. |
||
− | END_SOLUTION |
||
+ | END_PGML_SOLUTION |
||
− | Context()->normalStrings; |
||
− | |||
− | COMMENT('MathObject version.'); |
||
ENDDOCUMENT(); |
ENDDOCUMENT(); |
Latest revision as of 06:44, 18 July 2023
This problem has been replaced with a newer version of this problem
Sequences with Explicit Formulas
This PG code shows how to evaluate answers that are (possibly alternating) sequences with explicit formulas.
- PGML location in OPL: FortLewis/Authoring/Templates/Sequences/ExplicitSequence1_PGML.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros('PGstandard.pl','MathObjects.pl','PGML.pl','PGcourse.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]]; $sequence = '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'; |
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 |
BEGIN_PGML Find a formula for [` n^{th} `] term of the sequence [` [$sequence] `]. [` a_n = `] [__________________]{$answer} [@ helpLink('formulas') @]* END_PGML |
Main Text: |
BEGIN_PGML_SOLUTION Solution explanation goes here. END_PGML_SOLUTION ENDDOCUMENT(); |
Solution: |