Recursive Sequence

Integral calculus: sequences and recursively defined functions

Complete Code

Download file: RecursiveSequence.pg

POD for Macro Files

PG problem file

Explanation

DOCUMENT();

loadMacros('PGstandard.pl', 'PGML.pl', 'parserFunction.pl', 'PGcourse.pl');

Preamble

We will be defining a new named function and adding it to the context, and the easiest way to do this is using parserFunction.pl. There is a more basic way to add functions to the context, which is explained in example 2 at AddingFunctions

Context()->variables->are(n => 'Real');
parserFunction(f => 'sin(pi^n) + e * n^2');

$fn = Formula('3 f(n - 1) + 2');

Setup

We define a new named function f as something the student is unlikely to guess. The named function f is, in some sense, just a placeholder since the student will enter expressions involving f(n-1), WeBWorK will interpret it internally as sin(pi^(n-1))+e*n^2, and the only thing the student sees is f(n-1). If the recursion has an closed-form solution (e.g., the Fibonacci numbers are given by f(n) = (a^n - (1-a)^n)/sqrt(5) where a = (1+sqrt(5))/2) and you want to allows students to enter the closed-form solution, it would be good to define f using that explicit solution in case the student tries to answer the question by writing out the explicit solution (a^n - (1-a)^n)/sqrt(5) instead of using the shorthand f(n).

BEGIN_PGML
The current value [`f(n)`] is three times the previous value, plus two.  Find a
recursive definition for [`f(n)`].  Enter [`f_{n-1}`] as [`f(n-1)`].

[`f(n) =`] [_]{$fn}{15}
END_PGML

Statement

We should tell students to use function notation rather than subscript notation so that they aren’t confused about syntax.

BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION

ENDDOCUMENT();

Solution

A solution should be provided here.