PointAnswers1

From WeBWorK_wiki
Revision as of 14:04, 10 March 2023 by Pstaabp (talk | contribs) (Removes the AnswerFormatHelp macro and some other cleanup.)
Jump to navigation Jump to search

Answer is a Point or a List of Points

Click to enlarge

This PG code shows how to evaluate answers that are points or lists of points.


Templates by Subject Area

PG problem file Explanation

Problem tagging data

Problem tagging:

DOCUMENT();

loadMacros(
  'PGstandard.pl',
  'MathObjects.pl',
  'contextLimitedPoint.pl',
  'PGML.pl',
  'PGcourse.pl'
);

TEXT(beginproblem());

Initialization: We only need to load contextLimitedPoint.pl if we want to prevent operations between points.

Context('LimitedPoint');

$f = Compute('x^2-1');

$xint = List( Point('(1,0)'), Point('(-1,0)') );
$yint = List( Point('(0,-1)') );

Setup: We could have used Context("Point"); instead, which would allow mathematical operations between points (such as adding points as if they were vectors). The x-intercepts are clearly a list of points. We used a list with only one element for the y-intercepts so that a student who mistakenly enters two points will be told their second point is incorrect. If we did not use a list for the y-intercepts, a student who enters two points would be given an error message instead.

BEGIN_PGML
Enter the [`x`]-intercept(s) and [`y`]-intercept(s)
of [` y = [$f] `].  Enter a point as [` (a,b) `],
including the parentheses.  If there is more
than one correct answer, enter a comma
separated list of points.

+ [`x`]-intercept(s): [_________________]{$xint}

+ [`y`]-intercept(s): [_________________]{$yint}

[@ helpLink('points') @]*
END_PGML

Main Text: Be sure to tell students the proper syntax for how to enter their answers.

BEGIN_PGML_SOLUTION
Solution explanation goes here.
END_PGML_SOLUTION
ENDDOCUMENT();

Solution:

Templates by Subject Area