WeBWorK Problems

Trouble changing error message

Trouble changing error message

by Murphy Waggoner -
Number of replies: 2
Hi,

I have a problem where the students see if there is a point where a 3D parametric curve has the same slope as a 3D line or not.  If there is (are) point(s), the student finds them.  If there are none, they enter "None".

When there are none but they enter a point anyway, the error message is not helpful, and so I wanted to change it.  I tried doing that in the answer check and in the context but neither are successful.

I'm wondering if the problem has anything to do with the contraction in the original error message.  I first copy and pasted the error message in, which appears over two lines in the WebWork display, so I also wondered if I was copying a non-printing character that was causing a problem.  So I tried deleting the spaces between the first line and second line of the message but got no traction.

Thanks for any advice you can offer.

Toodles, 

MEW

## DBsubject(Calculus - single variable)
## DBchapter(Parametric)
## DBsection(Tangents, velocity, and speed)
## Institution(UCSB)
## Level(3)
## Static(1)
## TitleText1('Calculus: Early Transcendentals')
## AuthorText1('Stewart')
## EditionText1('5')
## Section1('10.2')
## Problem1('29')
## KEYWORDS('parametric equations')

## Revised to MathObject version MEWaggoner
## Hints added MEWaggoner

DOCUMENT();

loadMacros(
"PG.pl",
"PGstandard.pl",
"PGbasicmacros.pl",
#"PGchoicemacros.pl",
#"PGanswermacros.pl",
#"PGauxiliaryFunctions.pl",
#"answerHints.pl",
"MathObjects.pl"
);

TEXT(&beginproblem);
Context("Point");
Context()->{error}{msg}{"Your answer isn't a number(it looks like a point)"} 
  = "Did you check to see if the same value of t works for all three derivatives?";

$showPartialCorrectAnswers = 1;
$a=Real(random(1,10,1));
$b=Real(random(1,10,1)*random(-1,1,2));
$c=Real(random(1,10,1)*random(-1,1,2));

Context()->texStrings;

BEGIN_TEXT
Note:  If there is more than one point, separate the points with commas.  For example, enter "(1,2), (3, 4)" without the quote marks.  If there are none, type "None" without the quote marks.
$BR
$BR


List all of the points \((x, y)\) on the parametric curve

\[\left\lbrace\begin{array}{rcl}x&=&3t^2 + 1,\\y&=&t^3\\z&=&5t^2 -10 t -3 \end{array}\right\rbrace\]

for
\[t\in\mathbb{R}\]
where the tangent line is parallel to the line with parametric equations
\[\left\lbrace\begin{array}{rcl}x&=&4t\\y&=&24t-5\\z&=&10t - 7\end{array}\right\rbrace.\]


$PAR
Point(s): \((x, y, z) = \) \{ans_rule(20)\}



END_TEXT

$showHint = 2;
BEGIN_TEXT
$PAR
$BR
If you don't get this in $showHint tries, you can get a hint.
END_TEXT
BEGIN_HINT
Find the value of \(t\) that makes \(dx/dt\), \(dy/dt\) and \(dz/dt\) all the same for both curves.
END_HINT

Context()->normalStrings;


$point1 = String("None");


ANS($point1->cmp);





ENDDOCUMENT();

In reply to Murphy Waggoner

Re: Trouble changing error message

by Davide Cervone -
I don't have time for a detailed answer, but see the
Anser Checker entry of the String MathObject documentation. You need to specify a typeMatch to get proper error messages when the type of answer the student could enter is not a number.


Unfortunately, the error message for type mismatches doesn't go through the {error}{msg} facility, so can't be overridden that way. (You would need to use a post-filter to get it.)