Difference between revisions of "MultipleSelectProblems"
(New page: Test) |
|||
Line 1: | Line 1: | ||
− | Test |
||
+ | <h2>Multiple Choice Problems: PG Code Snippet</h2> |
||
+ | |||
+ | <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> |
||
+ | <em>This code snippet shows the essential PG code to include multiple-choice questions in a problem. Note that these are <b>insertions</b>, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.</em> |
||
+ | </p> |
||
+ | |||
+ | <p> |
||
+ | Note that in this example we use old-style multiple choice answer objects. The new-style MathObjects have a multiple choice object as well, but its behavior is sufficiently different than that suggested here that is not documented here. |
||
+ | </p> |
||
+ | |||
+ | <p style="text-align:center;"> |
||
+ | [[IndexOfProblemTechniques|Problem Techniques Index]] |
||
+ | </p> |
||
+ | |||
+ | <table cellspacing="0" cellpadding="2" border="0"> |
||
+ | <tr valign="top"> |
||
+ | <th> PG problem file </th> |
||
+ | <th> Explanation </th> |
||
+ | </tr> |
||
+ | <tr valign="top"> |
||
+ | <td style="background-color:#ddffdd;border:black 1px dashed;"> |
||
+ | <pre> |
||
+ | loadMacros("PGchoicemacros.pl"); |
||
+ | </pre> |
||
+ | </td> |
||
+ | <td style="background-color:#ccffcc;padding:7px;"> |
||
+ | <p> |
||
+ | In the initialization section of the file we need to include <code>PGchoicemacros.pl</code> in our list of loaded macro files. |
||
+ | </p> |
||
+ | </td> |
||
+ | </tr> |
||
+ | <tr valign="top"> |
||
+ | <td style="background-color:#ffffdd;border:black 1px dashed;"> |
||
+ | <pre> |
||
+ | $mc = new_multiple_choice(); |
||
+ | $mc->qa("What is your favorite color?", "blue"); |
||
+ | $mc->extra("red","green"); |
||
+ | $mc->makeLast("none of the above"); |
||
+ | </pre> |
||
+ | </td> |
||
+ | <td style="background-color:#ffffcc;padding:7px;"> |
||
+ | <p> |
||
+ | In the problem set-up, we create a new multiple choice object with <code>new_multiple_choice</code>, and then store the question and correct answer with the <code>qa</code> method. Other answers are specified as a list of arguments to the <code>extra</code> method. To force an answer (either a new extra answer, or the correct answer) to appear last in the list of options, use the <code>makeLast</code> method. All other answers will be scrambled when the multiple choice problem is shown to students. |
||
+ | </p> |
||
+ | </td> |
||
+ | </tr> |
||
+ | <tr valign="top"> |
||
+ | <td style="background-color:#ffdddd;border:black 1px dashed;"> |
||
+ | <pre> |
||
+ | BEGIN_TEXT |
||
+ | \{ $mc->print_q() \} |
||
+ | \{ $mc->print_a() \} |
||
+ | END_TEXT |
||
+ | </pre> |
||
+ | <td style="background-color:#ffcccc;padding:7px;"> |
||
+ | <p> |
||
+ | In the text section we print the question and answers. |
||
+ | </p> |
||
+ | </td> |
||
+ | </tr> |
||
+ | <tr valign="top"> |
||
+ | <td style="background-color:#eeddff;border:black 1px dashed;"> |
||
+ | <pre> |
||
+ | ANS( radio_cmp( $mc->correct_ans() ) ); |
||
+ | </pre> |
||
+ | <td style="background-color:#eeccff;padding:7px;"> |
||
+ | <p> |
||
+ | And we grade the problem with <code>radio_cmp</code>. |
||
+ | </p> |
||
+ | </td> |
||
+ | </tr> |
||
+ | </table> |
||
+ | |||
+ | <p style="text-align:center;"> |
||
+ | [[IndexOfProblemTechniques|Problem Techniques Index]] |
||
+ | </p> |
||
+ | |||
+ | [[Category:Problem Techniques]] |
Revision as of 20:32, 4 October 2009
Multiple Choice Problems: PG Code Snippet
This code snippet shows the essential PG code to include multiple-choice questions in a problem. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
Note that in this example we use old-style multiple choice answer objects. The new-style MathObjects have a multiple choice object as well, but its behavior is sufficiently different than that suggested here that is not documented here.
PG problem file | Explanation |
---|---|
loadMacros("PGchoicemacros.pl"); |
In the initialization section of the file we need to include |
$mc = new_multiple_choice(); $mc->qa("What is your favorite color?", "blue"); $mc->extra("red","green"); $mc->makeLast("none of the above"); |
In the problem set-up, we create a new multiple choice object with |
BEGIN_TEXT \{ $mc->print_q() \} \{ $mc->print_a() \} END_TEXT |
In the text section we print the question and answers. |
ANS( radio_cmp( $mc->correct_ans() ) ); |
And we grade the problem with |