# ScalingTranslating1

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## Scaling and Translating Functions

This PG code shows how to add a named function to the context and use it to asses whether students know their graph transformations.

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

PG problem file Explanation

Problem tagging:

```DOCUMENT();

"PGstandard.pl",
"MathObjects.pl",
"parserFunction.pl",
);

TEXT(beginproblem());
```

Initialization: We must load `parserFunction.pl` so that we can add a named function to the context.

```Context("Numeric");
parserFunction(f => "sin(e*x)+5.5*pi");

```

Setup: The `parserFunction` method allows us to add a named function to the context. We can define this function however we want, so we chose a function whose formula the students will not guess, whose domain is all real numbers, and which will have no issues during answer evaluation. Once a named function is added to the context, you can use it like you would any other named function.

```Context()->texStrings;
BEGIN_TEXT
A function \( f(x) \) is shifted to the right
\( 2 \) units and up \( 1 \) unit.  Find a formula
for this shifted function in terms of the function
\( f(x) \).
\$BR
\$BR
END_TEXT
Context()->normalStrings;
```

Main Text:

```\$showPartialCorrectAnswers = 1;

```

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

COMMENT('MathObject version.');

ENDDOCUMENT();
```

Solution: