News
Index
Working with MUMIE as author
- Initial steps:
- Articles:
- Problems:
- Programming with Python
- Visualizations with JSXGraph
- Media Documents:
Working with MUMIE as teacher
Using MUMIE via plugin in local LMS
FAQ
You're not logged in
Working with MUMIE as author
Working with MUMIE as teacher
Using MUMIE via plugin in local LMS
FAQ
Questions can become dynamic and personalised through the use of variables and functions.
These must be defined in a variables environment
The environment \begin{variables} ... \end{variables}
can be set for the whole group of questions, but can also be set individually for each question, or both. The position of the command determines for which questions the variables will be valid.
1234567891011121314151617 \begin{problem}
\begin{variables} % set for all questions
...
\end{variables}
\begin{question}
\begin{variables} % set only for this questions
...
\end{variables}
\begin{answer}
...
\end{answer}
\end{question}
\end{problem}
1234567891011 \begin{question}
\begin{variables}
\number{a}{12}
\number{b}{4}
\number{c}{10}
\number{d}{5}
\function{f}{a/b}
\function{g}{c/d}
\end{variables}
...
\end{question}
Will result in variables
Command | Description | Details |
---|---|---|
\number |
A fixed number variable, this can be any kind of number. The field command determines how the number will be interpreted. | |
\function |
A function definition, the definition may include variables and other functions. When an included variable is not defined, it will be a free variable. Again, the field command determines how the numbers within the function will be interpreted. |
function |
\derivative |
Creates a new function representing the derivative of the expression/variable that was passed into it. | derivative |
\substitute |
Creates a new function where the free variable of a function is replaced by the value of another function variable. | substitute |
\matrix |
A matrix displayed with square brackets | input.matrix questions |
\pmatrix |
A matrix displayed with round brackets | input.matrix questions |
\string |
A string definition as needed for input.text questions. When combined with switch/case-environments, it can be used to show different text depending on random variables. |
input.text questions |
\randint |
A random integer number, including zero (same as randint[z]) | |
\randint[Z] |
A random integer number, excluding zero | Random numbers |
\randdouble |
A random double number, including zero | Random numbers |
\randrat |
A random rational number, including zero | Random numbers |
\drawFromSet |
Randomly draw a number (or string) from a set | Random numbers |
\randadjustIf |
Random variables can be adjusted to satisfy a specific constraint. | randadjustIf |
All variables can be used in texts (e.g. question task, answer text) by using the tex command \var
with the name of the variable as argument:
12345678910111213 \begin{question}
\begin{variables}
\function{f}{a/3}
\end{variables}
\text{Determine the decimal expansion of $\var{f}$ correct to three decimal places.}
\begin{choice}
\text{$\var{solution1}$}
\end{choice}
\end{question}
Random numbers can be used instead of fixed numbers to personalize problem data.
Example
123456789 \begin{question}
\begin{variables}
\randint[Z]{x1}{-10}{10} %\randint[Z]{name}{min}{max}
\randdouble{x2}{0}{1}
\randrat{name}{minNumerator}{maxNumerator}{minDenominator}{maxDenominator}
\end{variables}
\end{question}
\drawFromSet Draw randomly a number (or string) from a set
12345678910 \begin{question}
\begin{variables}
\drawFromSet{a}{1,2,3,4,5,6}
\drawFromSet{b}{1/2,5,1.3,9/11,42}
\drawFromSet[separator=;]{c}{1;2.1;3.5;9}
\drawFromSet[separator=; type=string]{d}{hello;world}
\end{variables}
\end{question}
If you randomize variables, it could happen that the random values do not satisfy some conditions the author wishes to
be fulfilled in the question, or that the problem is not correctly posed for some combinations of the random values.
So they have to be adjusted. Therefore, you can use the following syntax to achieve this:
\randadjustIf{ _list_of_variables_ }{ _avoidance_relation_ }
A detailed explanation is given in RandadjustIf.
There is a switch/case statement to make sure your variables satisfy specific constraints.
123456789101112131415
\begin{case}{condition1}
... variable definitions ...
\end{case}
\begin{case}{condition2}
... variable definitions ...
\end{case}
...
\begin{default}
... variable definitions ...
\end{default}
\end{switch}
Every variable in a switch environment must have a default definition, but not a definition for every single case environment
(see example below). There is no limitation on how many case environments you can use inside a switch environment. The default environment though is obligatory!
You can use switch/case statements globally and on question level.
Note: Never use switch/case statements in combination with \randadjustIf
. It is meant as an alternative.
An example:
1234567891011121314151617181920212223242526272829303132 \begin{variables}
\randint{a}{1}{5}
\function{f0}{10*a}
\begin{switch}
\begin{case}{a>3}
\number{c}{3}
\randrat{d}{1}{2}{3}{7}
\drawFromSet{m}{1,2,3}
\function{f}{2*a}
\derivative{g}{3x^2+sqrt(x)}{x}
\substitute{h}{sqrt(y)}{y}{g}
\string{s}{case 1}
\end{case}
\begin{case}{a=3}
\number{c}{5}
\end{case}
\begin{default}
\randint{c}{1}{10}
\randrat{d}{-2}{-1}{3}{7}
\drawFromSet{m}{-1,-2,-3}
\function{f}{-2*a}
\derivative{g}{-3x^2+sqrt(x)}{x}
\substitute{h}{sqrt(y)}{y}{g}
\string{s}{default case}
\end{default}
\end{switch}
\end{variables}
There is also the option to define several sets of
values inside a so called variable pool.
12345678910111213141516171819 \begin{question}
\begin{pool}
\begin{variables}
\randint{a}{1}{3}
\drawFromSet{b}{1,2,3}
\randadjustIf{a,b}{a = b}
\function[calculate]{f}{2*a+b}
\end{variables}
\begin{variables}
\randint{a}{-3}{-1}
\drawFromSet{b}{-1,-2,-3}
\randadjustIf{a,b}{a = b}
\function[calculate]{f}{2*a-b}
\end{variables}
\end{pool}
\end{question}
1234567891011121314151617 \begin{question}
\begin{pool}
\begin{variables}
\number{a}{7}
\number{b}{3}
\end{variables}
\begin{variables}
\number{a}{5}
\number{b}{6}
\end{variables}
\end{pool}
\end{question}
Updated by Andreas Maurischat, 4 years, 1 month ago – 1fd8a75