Difference between revisions of "Matching1"
Line 2: | Line 2: | ||
[[File:Matching1.png|300px|thumb|right|Click to enlarge]] |
[[File:Matching1.png|300px|thumb|right|Click to enlarge]] |
||
− | <p style="background-color:# |
+ | <p style="background-color:#f9f9f9;border:black solid 1px;padding:3px;"> |
This PG code shows how to set up a matching question. |
This PG code shows how to set up a matching question. |
||
</p> |
</p> |
Revision as of 19:25, 2 December 2010
Matching Question
This PG code shows how to set up a matching question.
- Download file: File:Matching1.txt (change the file extension from txt to pg when you save it)
- File location in NPL:
FortLewis/Authoring/Templates/Misc/Matching1.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGchoicemacros.pl", "PGgraders.pl", "unionTables.pl", ); TEXT(beginproblem()); |
Initialization:
We use |
# # Create a matching list and use popups # $ml = new_match_list(); $ml->rf_print_q(~~&pop_up_list_print_q); $ml->ra_pop_up_list([ "No answer" => "?", "A" => "A", "B" => "B", "C" => "C", "D" => "D", "E" => "E", "F" => "F", "G" => "G", "H" => "H", "I" => "I", ]); # # Add correct questions and answers # $ml->qa( "Question a?", "Answer a", "Question b?", "Answer b", "Question c?", "Answer c", "Question d?", "Answer d", "Question e?", "Answer e", "Question f?", "Answer f", ); $ml->choose(6); # # Add extra incorrect answers # $ml->extra( "Extra answer 1", "Extra answer 2", ); $ml->choose_extra(2); $ml->makeLast("None of the above"); |
Setup:
Since we are choosing 6 questions and 2 extra answers and have 1 entry in For more details, see MatchingProblems from the Problem Techniques documentation. |
Context()->texStrings; BEGIN_TEXT Match each question with its answer. \{ ColumnMatchTable($ml) \} END_TEXT Context()->normalStrings; |
Main Text:
The |
$showPartialCorrectAnswers = 0; # # Incremental grader # install_problem_grader(~~&custom_problem_grader_fluid); $ENV{'grader_numright'} = [2,4,6]; $ENV{'grader_scores'} = [0.3,0.6,1]; $ENV{'grader_message'} = "You can earn " . "30% partial credit for 2 - 3 correct answers, and ". "60% partial credit for 4 - 5 correct answers."; # # All or nothing grader # # install_problem_grader(~~&std_problem_grader); ANS( str_cmp( $ml->ra_correct_ans ) ); |
Answer Evaluation:
We must withhold feedback from students by setting If you want a grader that awards full credit when all questions are correct and no credit otherwise, uncomment the standard problem grader. |
@correct = @{$ml->ra_correct_ans()}; $answerstring = join(", ", @correct); Context()->texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:$PAR The correct answers are $answerstring END_SOLUTION Context()->normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); |
Solution: It is also possible to provide explanations for these answers. For details, see MatchingProblems from the Problem Techniques documentation. |