# MatchingStaticGraphs

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## Matching Problems That Have Static Graphic Images

This code shows how to create a matching problem for functions and their graphs. Students input their answers using drop-down select lists (popup lists).

PG problem file Explanation
DOCUMENT();

"PG.pl",
"PGbasicmacros.pl",
"PGchoicemacros.pl",
);


Initialization: We need to include the PGchoicemacros.pl macro file.

@questions = (
"$$f(x,y) = \displaystyle \frac{1}{x^2 + y^2}$$",
"$$f(x,y) = - y^2$$",
"$$f(x,y) = x^3 - \sin(y)$$",
"$$f(x,y) = x + 2y + 3$$",
"$$f(x,y) = - e^{-x^2 - y^2}$$",
);

@images = (
"12-2-9a.gif",
"12-2-9b.gif",
"12-2-9c.gif",
"12-2-9d.gif",
"12-2-9e.gif",
);

$n = scalar(@questions);$k = $n; #$k can be less than $n @subset = NchooseK($n,$k); @numq = (1..$k);



Set-up: Create an array of questions (functions) and another of images. Set $k, the number of questions displayed, manually if you like. This is probably the only section you need to modify. You probably don't want more than five graphs to be displayed. @subset_of_questions = @questions[@subset]; @subset_of_images = @images[@subset]; @permutation = NchooseK($k,$k); @shuffled_subset_of_images = @subset_of_images[@permutation]; @captions = @ALPHABET[0..$k-1];

TEXT(beginproblem());

BEGIN_TEXT
$BEGIN_ONE_COLUMN Match each function with its graph. If you click on a graph, a larger graph will appear in a new window.$BR$BR END_TEXT for$j (0..$k-1) { BEGIN_TEXT @numq[$j].
\{ pop_up_list(['?', @captions]) \} $SPACE @subset_of_questions[$j]
$BR$BR
END_TEXT
}

BEGIN_TEXT
\{imageRow(~~@shuffled_subset_of_images,~~@captions)\}
$END_ONE_COLUMN END_TEXT  Main Text: You may modify the instructions if you want. $showPartialCorrectAnswers = 0;

ANS(str_cmp([@ALPHABET[invert(@permutation)]]));

ENDDOCUMENT();


Answer Evaluation: You should not need to modify this section at all.