# ScalingTranslating1

## Scaling and Translating Functions

Click to enlarge

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

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: