Difference between revisions of "Specialized contexts"
Jump to navigation
Jump to search
(21 intermediate revisions by 5 users not shown) | |||
Line 6: | Line 6: | ||
name starting with "context" -- e.g. <code>contextYourContextHere.pl</code>. |
name starting with "context" -- e.g. <code>contextYourContextHere.pl</code>. |
||
− | + | * [[ModifyingContexts(Advanced)]] contains information on the techniques and commands for tweaking the contexts for your task. |
|
+ | |||
+ | * [[SpecializedParsers]] covers the other advanced method for modifying the behavior of MathObjects. These files modify the parser which translates "TI calculator" formulae into MathObjects. |
||
− | Examples are provided in the files listed below. |
+ | * Examples are provided in the files listed below. |
− | |||
− | The other advanced method for customizing MathObjects is to modify the parser which |
||
− | translates "TI calculator" formulae into MathObjects. See [[SpecializedParsers]] |
||
=== Specialized Context Macro files === |
=== Specialized Context Macro files === |
||
− | Here is a partial list of contexts. |
+ | Here is a partial list of contexts. |
− | + | ||
+ | Check the [http://webwork.maa.org/pod/pg POD documentation for more examples.] |
||
+ | |||
Use <code>loadMacros("contextABCD.pl");</code> to make the context available for a WeBWorK question. |
Use <code>loadMacros("contextABCD.pl");</code> to make the context available for a WeBWorK question. |
||
− | * [http://webwork.maa.org/ |
+ | * [http://webwork.maa.org/pod/pg/macros/contextABCD.html contextABCD.pl] |
** <code>Context("ABCD");</code> |
** <code>Context("ABCD");</code> |
||
** <code>Context("ABCD-List");</code> |
** <code>Context("ABCD-List");</code> |
||
** Contexts for matching problems. Adds strings A, B, C, D as allowable entries. |
** Contexts for matching problems. Adds strings A, B, C, D as allowable entries. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextCurrency.pl contextCurrency.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextCurrency.html contextCurrency.pl] |
||
** <code>Context("Currency");</code> |
** <code>Context("Currency");</code> |
||
** Context for entering numbers with currency symbols and commas. |
** Context for entering numbers with currency symbols and commas. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextInequalities.pl contextInequalities.pl] |
||
+ | ** <code>$m = Currency(10.99);</code> or <code>$m2 = Compute('$10,000.00'); </code> |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextFraction.html contextFraction.pl] |
||
+ | ** <code>Context("Fraction");</code> |
||
+ | ** <code>Context("Fraction-NoDecimals");</code> |
||
+ | ** <code>Context("LimitedFraction");</code> |
||
+ | ** <code>Context("LimitedProperFraction");</code> |
||
+ | ** Implements a MathObject class for Fractions. |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextInequalities.html contextInequalities.pl] |
||
** <code>Context(`Inequalities');</code> |
** <code>Context(`Inequalities');</code> |
||
** <code>Context(`Inequalities-Only');</code> |
** <code>Context(`Inequalities-Only');</code> |
||
** Provides contexts that allow intervals to be specified as inequalities. |
** Provides contexts that allow intervals to be specified as inequalities. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextIntegerFunctions.pl contextIntegerFunctions.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextIntegerFunctions.html contextIntegerFunctions.pl] |
||
** <code>Context("IntegerFunctions");</code> |
** <code>Context("IntegerFunctions");</code> |
||
− | ** adds integer related functions C(n,r) and P(n,r). |
+ | ** adds integer related functions C(n,r) and P(n,r). Note that <code>PGauxiliaryFunctions.pl</code>must be loaded to access these functions. |
− | + | ||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedComplex.html contextLimitedComplex.pl] |
||
** <code>Context("LimitedComplex");</code> |
** <code>Context("LimitedComplex");</code> |
||
** Allow complex numbers but not complex operations. |
** Allow complex numbers but not complex operations. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextLimitedNumeric.pl contextLimitedNumeric.pl] |
||
+ | |||
− | ** ( [DEPRECATED] -- loadMacros("contextLimitedNumeric.pl") is not needed, these contexts are now standard and defined in <code>pg/lib/Parser/Legacy/LimitedNumeric.pm</code> |
||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedNumeric.html contextLimitedNumeric.pl] |
||
− | ** <code>Context("LimitedNumeric");</code> |
||
** <code>Context("LimitedNumeric-List");</code> -- allows lists -- (need contextLimiteNumeric.pl for this) |
** <code>Context("LimitedNumeric-List");</code> -- allows lists -- (need contextLimiteNumeric.pl for this) |
||
+ | ** ( [DEPRECATED] -- loadMacros("contextLimitedNumeric.pl") is not needed for the these remaining contexts which are now standard and defined in <code>pg/lib/Parser/Legacy/LimitedNumeric.pm</code> |
||
+ | ** <code>Context("LimitedNumeric");</code> |
||
** <code>Context("LimitedNumeric-Fraction")</code> |
** <code>Context("LimitedNumeric-Fraction")</code> |
||
** <code>Context("LimitedNumeric-StrictFraction");</code> -- no decimals |
** <code>Context("LimitedNumeric-StrictFraction");</code> -- no decimals |
||
** Allows numeric entry but no operations. |
** Allows numeric entry but no operations. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextLimitedPoint.pl contextLimitedPoint.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedPoint.html contextLimitedPoint.pl] |
||
** <code>Context("LimitedPoint")</code> |
** <code>Context("LimitedPoint")</code> |
||
** Allow point entry but no point operations. |
** Allow point entry but no point operations. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextLimitedPolynomial.pl contextLimitedPolynomial.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedPolynomial.html contextLimitedPolynomial.pl] |
||
** <code>Context("LimitedPolynomial");</code> |
** <code>Context("LimitedPolynomial");</code> |
||
** Allow only entry of expanded polynomials. |
** Allow only entry of expanded polynomials. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextLimitedPowers.pl contextLimitedPowers.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedPowers.html contextLimitedPowers.pl] |
||
** <code>LimitedPowers::NoBaseE();</code> |
** <code>LimitedPowers::NoBaseE();</code> |
||
** <code>LimitedPowers::OnlyIntegers();</code> |
** <code>LimitedPowers::OnlyIntegers();</code> |
||
Line 51: | Line 66: | ||
** <code>LimitedPowers::OnlyNonNegativeIntegers();</code> |
** <code>LimitedPowers::OnlyNonNegativeIntegers();</code> |
||
** Restrict the base or power allowed in exponentials. |
** Restrict the base or power allowed in exponentials. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextLimitedVector.pl contextLimitedVector.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextLimitedVector.html contextLimitedVector.pl] |
||
** <code>Context("LimitedVector-coordinate");</code> |
** <code>Context("LimitedVector-coordinate");</code> |
||
** <code>Context("LimitedVector-ijk");</code> |
** <code>Context("LimitedVector-ijk");</code> |
||
** <code>Context("LimitedVector");</code> # either one |
** <code>Context("LimitedVector");</code> # either one |
||
** Allow vector entry but no vector operations. |
** Allow vector entry but no vector operations. |
||
− | * [http://webwork.maa.org/ |
+ | * [http://webwork.maa.org/pod/pg/macros/contextOrdering.html contextOrdering.pl] |
− | ** |
+ | ** <code>Context("Ordering")</code> |
− | * |
+ | ** <code>Context("Ordering-List")</code> |
− | ** <code> |
+ | ** Create objects which parse answers such as <code> $ans = Ordering("B > A = D > C");</code> |
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextPeriodic.html contextPeriodic.pl] |
||
+ | ** [DEPRECATED] The features in this file are now standard features of the Real and Complex MathObjects classes. |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextPiecewiseFunction.html contextPiecewiseFunction.pl] |
||
+ | ** <code>Context("PiecewiseFunction");</code> |
||
** Allow usage of piecewise functions. |
** Allow usage of piecewise functions. |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextScientificNotation.pl contextScientificNotation.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextReaction.html contextReaction.pl] |
||
+ | ** <code>Context("Reaction");</code> |
||
+ | ** Implements the specification and comparison of chemical reactions formulas. |
||
+ | ** <code>$R = Formula("4P + 5O_2 --> 2P_2O_5");</code> |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextScientificNotation.html contextScientificNotation.pl] |
||
** <code>Context("ScientificNotation");</code> |
** <code>Context("ScientificNotation");</code> |
||
** Allows entry of scientific notation. Tries hard to report useful error messages when student's answer is not in the proper format. |
** Allows entry of scientific notation. Tries hard to report useful error messages when student's answer is not in the proper format. |
||
** Experimental: may be renamed to LimitedScientifcNotation |
** Experimental: may be renamed to LimitedScientifcNotation |
||
− | * [http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/contextString.pl contextString.pl] |
||
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextString.html contextString.pl] |
||
** Use this context to allow restricted short answer (no mathematical symbols) questions. |
** Use this context to allow restricted short answer (no mathematical symbols) questions. |
||
** Feedback is provided if the response contains strings that are not allowed. |
** Feedback is provided if the response contains strings that are not allowed. |
||
− | * [http://webwork.maa.org/ |
+ | ** See also [http://webwork.maa.org/pod/pg/macros/parserAutoStrings.html parserAutoStrings.pl] |
+ | |||
+ | * [http://webwork.maa.org/pod/pg/macros/contextTF.html contextTF.pl] |
||
** <code>Context("TF");</code> |
** <code>Context("TF");</code> |
||
[[Category:Contexts]] |
[[Category:Contexts]] |
||
+ | [[Category:MathObjects]] |
||
+ | [[Category:Reference Tables]] |
Latest revision as of 16:21, 7 April 2021
Specialized Contexts
Using advanced methods one can customize Contexts to control the possible student responses that are allowed
and the feedback given to students if their response has incorrect syntax.
These customizations can be placed in a macro file for reuse which by convention is given a
name starting with "context" -- e.g. contextYourContextHere.pl
.
- ModifyingContexts(Advanced) contains information on the techniques and commands for tweaking the contexts for your task.
- SpecializedParsers covers the other advanced method for modifying the behavior of MathObjects. These files modify the parser which translates "TI calculator" formulae into MathObjects.
- Examples are provided in the files listed below.
Specialized Context Macro files
Here is a partial list of contexts.
Check the POD documentation for more examples.
Use loadMacros("contextABCD.pl");
to make the context available for a WeBWorK question.
- contextABCD.pl
Context("ABCD");
Context("ABCD-List");
- Contexts for matching problems. Adds strings A, B, C, D as allowable entries.
- contextCurrency.pl
Context("Currency");
- Context for entering numbers with currency symbols and commas.
$m = Currency(10.99);
or$m2 = Compute('$10,000.00');
- contextFraction.pl
Context("Fraction");
Context("Fraction-NoDecimals");
Context("LimitedFraction");
Context("LimitedProperFraction");
- Implements a MathObject class for Fractions.
- contextInequalities.pl
Context(`Inequalities');
Context(`Inequalities-Only');
- Provides contexts that allow intervals to be specified as inequalities.
- contextIntegerFunctions.pl
Context("IntegerFunctions");
- adds integer related functions C(n,r) and P(n,r). Note that
PGauxiliaryFunctions.pl
must be loaded to access these functions.
- contextLimitedComplex.pl
Context("LimitedComplex");
- Allow complex numbers but not complex operations.
- contextLimitedNumeric.pl
Context("LimitedNumeric-List");
-- allows lists -- (need contextLimiteNumeric.pl for this)- ( [DEPRECATED] -- loadMacros("contextLimitedNumeric.pl") is not needed for the these remaining contexts which are now standard and defined in
pg/lib/Parser/Legacy/LimitedNumeric.pm
Context("LimitedNumeric");
Context("LimitedNumeric-Fraction")
Context("LimitedNumeric-StrictFraction");
-- no decimals- Allows numeric entry but no operations.
- contextLimitedPoint.pl
Context("LimitedPoint")
- Allow point entry but no point operations.
- contextLimitedPolynomial.pl
Context("LimitedPolynomial");
- Allow only entry of expanded polynomials.
- contextLimitedPowers.pl
LimitedPowers::NoBaseE();
LimitedPowers::OnlyIntegers();
LimitedPowers::OnlyPositiveIntegers();
LimitedPowers::OnlyNonNegativeIntegers();
- Restrict the base or power allowed in exponentials.
- contextLimitedVector.pl
Context("LimitedVector-coordinate");
Context("LimitedVector-ijk");
Context("LimitedVector");
# either one- Allow vector entry but no vector operations.
- contextOrdering.pl
Context("Ordering")
Context("Ordering-List")
- Create objects which parse answers such as
$ans = Ordering("B > A = D > C");
- contextPeriodic.pl
- [DEPRECATED] The features in this file are now standard features of the Real and Complex MathObjects classes.
- contextPiecewiseFunction.pl
Context("PiecewiseFunction");
- Allow usage of piecewise functions.
- contextReaction.pl
Context("Reaction");
- Implements the specification and comparison of chemical reactions formulas.
$R = Formula("4P + 5O_2 --> 2P_2O_5");
- contextScientificNotation.pl
Context("ScientificNotation");
- Allows entry of scientific notation. Tries hard to report useful error messages when student's answer is not in the proper format.
- Experimental: may be renamed to LimitedScientifcNotation
- contextString.pl
- Use this context to allow restricted short answer (no mathematical symbols) questions.
- Feedback is provided if the response contains strings that are not allowed.
- See also parserAutoStrings.pl
- contextTF.pl
Context("TF");