This represents one possible answer (correct or incorrect) for a numeric question.
Properties
Property |
Required |
Type |
Description |
requirement |
Recommended |
String |
Default: “exact”. Determines how to potentially match student input to this answer choice. |
Supported values for requirement
Requirement Type |
Description |
exact |
Exact means that only student responses that represent the exact same value are allowed. For example, an exact answer of 4 will match against student responses for 4 , 4.0 , 8/2 , but not for 4.01 . |
range |
Range accepts a range of answers, for example, all numbers -1 to 1. This would match student responses of -1 , 1 , 0 , 1/1 , 1/2 , but not -1.1 or 2 for example. |
margin |
Margin allows you to define an answer with an accepted margin of error - either absolute or percent error. For example, an answer of 100 with a 5% margin of error would accept student responses for 100 as well as 100.2 , but not 120 . |
Additional properties when requirement is “exact”
Property |
Required |
Type |
Description |
answer |
Required |
Answer String |
The numeric value of this answer choice |
Additional properties when requirement is “range”
Property |
Required |
Type |
Description |
start |
Required |
Answer String |
The starting numeric value for this answer range |
end |
Required |
Answer String |
The ending numeric value for this answer range |
Additional properties when requirement is “margin”
Property |
Required |
Type |
Description |
answer |
Required |
Answer String |
The numeric value of this answer choice |
type |
Required |
String |
The type of error, percent or absolute |
margin |
Required |
String |
Either the percent or absolute error amount allowed |
Answers can be decimal numbers, in scientific notation, fractions, hexadecimal numbers, octal numbers or binary numbers. Leading zeroes are ignored. Some examples are provided:
Answer string example |
Parsed as |
Subtype |
Equivalent decimal value |
Note |
0 |
decimal |
|
0 |
|
01.230 |
decimal |
|
1.230 |
Trailing zeroes are kept for significant figure purposes |
100. |
decimal |
|
100. |
Trailing “.” is kept for significant figure purposes |
1/2 |
fraction |
|
0.5 |
|
-2/4 |
fraction |
|
-0.5 |
Non-reduced fractions are allowed |
1/3 |
fraction |
|
0.333333… |
|
6.02e24 |
scientific |
e |
6020000000000000000000000 |
|
60.2e23 |
scientific |
e |
6020000000000000000000000 |
Improper form (more than one digit to the left of the decimal) is allowed |
6.02*10^24 |
scientific |
asterix |
6020000000000000000000000 |
|
6.02ee24 |
scientific |
ee |
6020000000000000000000000 |
|
6.02’24 |
scientific |
apos |
6020000000000000000000000 |
|
6.02x10^24 |
scientific |
x |
6020000000000000000000000 |
|
0xFF0F |
hexadecimal |
hexZeroX |
65295 |
|
#FF0F |
hexadecimal |
hexOctothorpe |
65295 |
|
$FF0F |
hexadecimal |
hexDollarSign |
65295 |
|
0o777 |
octal |
|
511 |
|
0b1101 |
binary |
|
13 |
|
Student input is matched to potential answer values by checking the equivalent decimal value. For example, if a possible answer value is “2”, student input of “2/1” is still accepted as a match as it is equivalent in value. An additional special case is afforded for fractional equivalency. If an answer value is “1/3”, student input of “0.333333” (or the same input with additional 3s) is considered equivalent (“0.33333” - an answer with five “3”s - is not). Likewise, student input of “1/3” will match against an answer value of “0.333333”.
Supported Trigger Types
Action Type |
Description |
onMount |
Fired when a node is added to the DOM |
onUnmount |
Fired when a node is removed from the DOM |
Required Children
None
Variables Registered
None
Example
JSON
{
"type": "ObojoboDraft.Chunks.NumericAssessment.NumericAnswer",
"id": "...",
"content": [
{
"requirement": "range",
"start": "-1",
"end": "1"
}
]
}
XML
<NumericAnswer requirement="range" start="-1" end="1" />