Difference between revisions of "Matching1"
Paultpearson (talk | contribs) (Add link to PGML version in OPL) |
(add historical tag and give links to newer problems.) |
||
Line 1: | Line 1: | ||
+ | {{historical}} |
||
+ | |||
+ | <p style="font-size: 120%;font-weight:bold">This problem has been replaced with many other problems:</p> |
||
+ | * [https://openwebwork.github.io/pg-docs/sample-problems/Misc/Matching.html A matching problem] |
||
+ | * [https://openwebwork.github.io/pg-docs/sample-problems/Misc/MatchingAlt.html An alternative matching problem] |
||
+ | |||
+ | |||
<h2>Matching Question</h2> |
<h2>Matching Question</h2> |
||
Latest revision as of 06:22, 17 July 2023
This problem has been replaced with many other problems:
Matching Question
This PG code shows how to set up a matching question.
- File location in OPL: FortLewis/Authoring/Templates/Misc/Matching1.pg
- PGML location in OPL: FortLewis/Authoring/Templates/Misc/Matching1_PGML.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, valign=>'TOP') \} 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. |