Spacecurve1
A Parametric Curve in Space
This PG code shows how to ask a parametric curve question with three answer blanks and use MultiAnswer to check the answer.
 File location in OPL: FortLewis/Authoring/Templates/Parametric/Spacecurve1.pg
 PGML location in OPL: FortLewis/Authoring/Templates/Parametric/Spacecurve1_PGML.pg
PG problem file  Explanation 

Problem tagging: 

DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "parserMultiAnswer.pl", "AnswerFormatHelp.pl", ); TEXT(beginproblem()); 
Initialization:
Since we will have multiple answer blanks that depend on each other, we need to use 
Context("Numeric"); Context()>variables>are(t=>"Real"); Context()>variables>set(t=>{limits=>[0,10]}); $a = random(5,2,1); $x = Formula("$a * t**2"); $y = Formula("0"); $z = Formula("t"); $multians = MultiAnswer($x, $y, $z)>with( singleResult => 1, checker => sub { my ( $correct, $student, $self ) = @_; my ( $xstu, $ystu, $zstu ) = @{$student}; return 0 unless $xstu>isFormula; if (($xstu==$a*$zstu**2) && ($ystu==0)) { return 1; } else { return 0; } } ); 
Setup:
We use 
Context()>texStrings; BEGIN_TEXT Find a parametrization of the curve \( x = $a z^2 \) in the \(xz\)plane. Use \( t \) as the parameter for all of your answers. $BR $BR \( x(t) = \) \{$multians>ans_rule(20)\} \{ AnswerFormatHelp("formulas") \} $BR \( y(t) = \) \{$multians>ans_rule(20)\} \{ AnswerFormatHelp("formulas") \} $BR \( z(t) = \) \{$multians>ans_rule(20)\} \{ AnswerFormatHelp("formulas") \} END_TEXT Context()>normalStrings; 
Main Text:
Notice that we use 
$showPartialCorrectAnswers = 0; ANS($multians>cmp()); 
Answer Evaluation: 
Context()>texStrings; BEGIN_SOLUTION Solution explanation goes here. END_SOLUTION Context()>normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); 
Solution: 