Difference between revisions of "AlignedChoice"

From WeBWorK_wiki
Jump to navigation Jump to search
(New page: <h2>Aligned Answer Blanks</h2> <!-- Header for these sections -- no modification needed --> <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> <em>This PG code s...)
 
Line 100: Line 100:
 
Find the sine of each of the following angles.
 
Find the sine of each of the following angles.
 
$PAR
 
$PAR
\{$al->print_q\}
+
\{ $al->print_q() \}
 
$PAR
 
$PAR
Remark: Your answer cannot contain trigonometric functions;
+
Remark: Your answer cannot contain trigonometric functions.
it must be an arithmetic expression or number.
+
It must be an arithmetic expression or number.
 
END_TEXT
 
END_TEXT
 
</pre>
 
</pre>

Revision as of 15:17, 18 February 2010

Aligned Answer Blanks


This PG code shows how to align answer blanks and restrict the type of student answer allowed.

Problem Techniques Index

PG problem file Explanation
DOCUMENT();
loadMacros(
"PGstandard.pl",
"PGunion.pl",
"MathObjects.pl",
"alignedChoice.pl",
);
TEXT(beginproblem());

Initialization: We need to include the macro file alignedChoice.pl for aligning the answer blanks.

Context("Numeric");

$f1 = Formula("sin(pi/6)");
$f2 = Formula("sin(pi/4)");
$f3 = Formula("sin(pi/3)");
$f4 = Formula("sin(pi/2)");
$f5 = Formula("sin(pi)");
$f6 = Formula("sin(2pi)");

Parser::Context::Functions::Disable('All');
Parser::Context::Functions::Enable('sqrt');


Context()->texStrings;
$al = new_aligned_list(ans_rule_len=>10, numbered=>1, tex_spacing=>"3pt");
$al->qa(
"\($f1\)", Real($f1->eval)->cmp,
"\($f2\)", Real($f2->eval)->cmp,
"\($f3\)", Real($f3->eval)->cmp,
"\($f4\)", Real($f4->eval)->cmp,
"\($f5\)", Real($f5->eval)->cmp,
"\($f6\)", Real($f6->eval)->cmp,
);
Context()->normalStrings;

Setup: We disable all functions, and then enable square root.

The options for aligned list are vertical alignment, horizontal alignment, cellspacing, tex spacing (which must include units of measure, such as "pt"), whether or not the list is numbered, whether there is a column of equals signs, and the length of each answer rule. The defaults and other options are given below.

  • valign=>"MIDDLE" or TOP or BOTTOM
  • align=>"RIGHT" or LEFT or CENTER
  • spacing=>"5"
  • tex_spacing=>"0pt", where 1pt = 1/72in. 3pt is usually good.
  • numbered=>"0" for no numbering, or 1 for numbering
  • equals=>"1" for a column of equals signs, 0 to omit them
  • ans_rule_len=>"10"

BEGIN_TEXT
Find the sine of each of the following angles.
$PAR
\{ $al->print_q() \}
$PAR
Remark: Your answer cannot contain trigonometric functions.
It must be an arithmetic expression or number.
END_TEXT

Main Text: It's a good idea to explain to students that the type of answers allowed are restricted.

$showPartialCorrectAnswers = 1;
ANS( $al->correct_ans );

ENDDOCUMENT();

Answer Evaluation: As expected.

Problem Techniques Index