Difference between revisions of "MultipleSelectProblems"
Line 47: | Line 47: | ||
# Insert a question and matching answers in the q/a list |
# Insert a question and matching answers in the q/a list |
||
$cmc -> qa ( |
$cmc -> qa ( |
||
− | "Please select all |
+ | "Please select all expressions that are equivalent to \(e^{x^2 + 1/x}\).", # question |
− | "\( |
+ | "\( e^{x^2} e^{1/x} \)", # a correct answer |
− | "\( |
+ | "\( e^{x^2} e^{x^{-1}} \)", # another correct answer |
− | "\( |
+ | "\( e^{(x^3+1)/x} \)", # Use " ... " to enter a string and \( \) for math |
+ | # "All of the above", |
||
# "None of the above", |
# "None of the above", |
||
); |
); |
||
− | # If the only correct answer is " |
+ | # If the only correct answer is "All of the above" |
− | # |
+ | # or "None of the above", uncomment the |
− | # |
+ | # "All of the above" or "None of the above" string |
+ | # above and remove all other correct answers from the list |
||
# Insert some incorrect answers |
# Insert some incorrect answers |
||
$cmc -> extra( |
$cmc -> extra( |
||
− | "\(\langle -2, 2, 2 \rangle\)", |
||
+ | "\( e^{(x^2+1)/x \)", |
||
− | "\( |
+ | "\( e^{x^2} e^{-x} \)", |
+ | "\( e^{x^2} e^{-x} \)", |
||
+ | "\( \displaystyle \frac{e^{x^2}}{e^x} \)", |
||
); |
); |
||
− | # The next line can be |
+ | # The next line can be uncommented. |
− | $cmc->makeLast(" |
+ | # $cmc->makeLast("All of the above"); |
# Note that unlike match lists and select lists, you cannot call qa() again |
# Note that unlike match lists and select lists, you cannot call qa() again |
Revision as of 16:57, 13 October 2009
Multiple Select Problems (or Checkbox Multiple Choice or Select All That Apply): PG Code Snippet
This code snippet shows the essential PG code to include multiple select question (or checkbox multiple choice or select all that apply) in a problem. A multiple choice question has only one correct answer, whereas a checkbox multiple choice question may require several items to be selected at the same time to be correct. 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 checkbox multiple choice answer objects. The new-style MathObjects do not yet have a checkbox multiple choice answer object yet.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PG.pl", "PGbasicmacros.pl", "PGchoicemacros.pl", "PGanswermacros.pl" ); # Do not show which answers are incorrect. $showPartialCorrectAnswers = 0; |
In the initialization section of the file we need to include |
# Make a new checkbox multiple choice $cmc = new_checkbox_multiple_choice(); # $cmc now "contains" the checkbox multiple choice object. # Insert a question and matching answers in the q/a list $cmc -> qa ( "Please select all expressions that are equivalent to \(e^{x^2 + 1/x}\).", # question "\( e^{x^2} e^{1/x} \)", # a correct answer "\( e^{x^2} e^{x^{-1}} \)", # another correct answer "\( e^{(x^3+1)/x} \)", # Use " ... " to enter a string and \( \) for math # "All of the above", # "None of the above", ); # If the only correct answer is "All of the above" # or "None of the above", uncomment the # "All of the above" or "None of the above" string # above and remove all other correct answers from the list # Insert some incorrect answers $cmc -> extra( "\( e^{(x^2+1)/x \)", "\( e^{x^2} e^{-x} \)", "\( e^{x^2} e^{-x} \)", "\( \displaystyle \frac{e^{x^2}}{e^x} \)", ); # The next line can be uncommented. # $cmc->makeLast("All of the above"); # Note that unlike match lists and select lists, you cannot call qa() again |
In the problem set-up, we create a new checkbox multiple choice object with |
TEXT(beginproblem()); # Print the text using $cmc->print_q() for the questions and # $cmc->print_a() to print the answers. BEGIN_TEXT This is a place to insert additional text if you wish. $PAR \{ $cmc -> print_q() \} $PAR \{ $cmc -> print_a() \} END_TEXT |
In the text section we print the question and answers. |
# Enter the correct answers to be checked against the answers to the students. ANS(checkbox_cmp($cmc->correct_ans)); ENDDOCUMENT(); |
And we grade the problem with |