3 [2, 3, 4, 6, 8] _.map(randRangeUnique(0, 4, NUM_ITEMS), function(el) { return ALLOWED_DENOMINATORS[el]; }) min.apply(null, DENOMINATORS) randRange(1, MIN_DENOM) DENOMINATORS.slice(0).sort().reverse() NUMS_SORTED.join(",") $.map(NUMS_SORTED, function(el) { return "\\dfrac{" + NUMERATOR + "}{" + el + "}"; }).join(",") createSorter()

Order the following fractions from least to greatest:

- D `\dfrac{NUMERATOR}{D}`

SORTER.init("sortable")

Drag the fractions left and right so they are in order from least to greatest
SORTER.getContent()
if (SORTER.hasAttempted) { return guess.join(",") === SORTED_LIST; } else { return ""; }
SORTER.setContent(guess);

We can draw a picture to compare the fractions.

init({ range: [[-0.1, 1], [0, NUM_ITEMS * 2]], scale: [400, 25] }); for (var i = 0; i < NUM_ITEMS; i++) { var y = (NUM_ITEMS - i - 1) * 2; rectchart([NUMERATOR, DENOMINATORS[i] - NUMERATOR], [RED, GRAY], y); label([-0.05, y + 0.5], "\\dfrac{" + NUMERATOR + "}{" + DENOMINATORS[i] + "}"); }

The order from least to greatest is: `ANSWER`.

randFromArray([2, 3, 4, 6, 8]) randFromArrayExclude([2, 3, 4, 6, 8], [DENOMINATOR_1]) randRange(1, min(DENOMINATOR_1, DENOMINATOR_2)) DENOMINATOR_1 > DENOMINATOR_2 ? "<" : ">"

Compare.

`\dfrac{NUMERATOR}{DENOMINATOR_1}` ____ `\dfrac{NUMERATOR}{DENOMINATOR_2}`

`SOLUTION`

- `<`
- `>`
- `=`

`\large{<}` means "less than".
`\large{>}` means "greater than".
`\large{=}` means "equal to".

We can draw a picture to compare the fractions.

init({ range: [[-0.1, 1], [0, 5.5]], scale: [425, 25] }); rectchart([NUMERATOR, DENOMINATOR_1 - NUMERATOR], [RED, GRAY], 3); rectchart([NUMERATOR, DENOMINATOR_2 - NUMERATOR], [RED, GRAY], 1); label([-0.05, 3.5], "\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_1 + "}"); label([-0.05, 1.5], "\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_2 + "}");

`\dfrac{NUMERATOR}{DENOMINATOR_1} SOLUTION \dfrac{NUMERATOR}{DENOMINATOR_2}`

randRange(1, 9) randFromArray([2, 3, 4, 6, 8]) randFromArrayExclude([2, 3, 4, 6, 8], [DENOMINATOR_1]) ceil(NUMERATOR / min(DENOMINATOR_1, DENOMINATOR_2)) DENOMINATOR_1 > DENOMINATOR_2 ? "<" : ">" randFromArray(["A", "B"])

Which number line correctly shows `\dfrac{NUMERATOR}{DENOMINATOR_1}` and `\dfrac{NUMERATOR}{DENOMINATOR_2}`?

init({ range: [[-0.15, 1.1], [0, 7]], scale: [400, 25] }); var tick = 0.25; var labels = [ 0, "\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_1 + "}", "\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_2 + "}" ]; var drawNumberLine = function(y, name, numbers) { // Seems this only adds an arrow to one end line([-0.05, y], [1.05, y], { arrows: "<->" }); line([1.05, y], [-0.05, y], { arrows: "<->" }); label([-0.1, y], name); for (var i = 0; i < numbers.length; i++) { var x = numbers[i] === 0 ? 0 : NUMERATOR / numbers[i] / MAX_NUM; line([x, y - tick], [x, y + tick]); label([x, y - 0.2], labels[i], "below"); } }; if (SOLUTION === "A") { drawNumberLine(6, "A", [0, DENOMINATOR_1, DENOMINATOR_2]); drawNumberLine(2, "B", [0, DENOMINATOR_2, DENOMINATOR_1]); } else { drawNumberLine(6, "A", [0, DENOMINATOR_2, DENOMINATOR_1]); drawNumberLine(2, "B", [0, DENOMINATOR_1, DENOMINATOR_2]); }
Number line `SOLUTION`

- Number line `A`
- Number line `B`

`\dfrac{NUMERATOR}{\blue{DENOMINATOR_1}}` means dividing `1` whole into `\blue{DENOMINATOR_1}` equal segments, then taking `NUMERATOR` copies of them.

init({ range: [[-0.1, 1.1], [0, 3]], scale: [400, 25] }); var y = 2; line([-0.05, y], [1.05, y], { arrows: "<->" }); line([1.05, y], [-0.05, y], { arrows: "<->" }); var tick = 0.25 for (var i = 0; i <= MAX_NUM * DENOMINATOR_1; i++) { var x = i / DENOMINATOR_1 / MAX_NUM; line([x, y - tick], [x, y + tick]); if (i % DENOMINATOR_1 === 0) { label([x, y], roundTo(1, i / DENOMINATOR_1), "above"); } } label([ NUMERATOR / DENOMINATOR_1 / MAX_NUM, 1.8], "\\blue{\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_1 + "}}", "below" );

`\dfrac{NUMERATOR}{\red{DENOMINATOR_2}}` means dividing `1` whole into `\red{DENOMINATOR_2}` equal segments, then taking `NUMERATOR` copies of them.

init({ range: [[-0.1, 1.1], [0, 3]], scale: [400, 25] }); var y = 2; line([-0.05, y], [1.05, y], { arrows: "<->" }); line([1.05, y], [-0.05, y], { arrows: "<->" }); var tick = 0.25 for (var i = 0; i <= MAX_NUM * DENOMINATOR_2; i++) { var x = i / DENOMINATOR_2 / MAX_NUM; line([x, y - tick], [x, y + tick]); if (i % DENOMINATOR_2 === 0) { label([x, y], roundTo(1, i / DENOMINATOR_2), "above"); } } label([ NUMERATOR / DENOMINATOR_2 / MAX_NUM, 1.8], "\\red{\\dfrac{" + NUMERATOR + "}{" + DENOMINATOR_2 + "}}", "below" );

The larger the denominator, the smaller the segments, since the denominator tells us how many equal segments there are in the whole.

`NUMERATOR` copies of `\dfrac{NUMERATOR}{\blue{DENOMINATOR_1}}` segments are larger than `NUMERATOR` copies of `\dfrac{NUMERATOR}{\red{DENOMINATOR_2}}` segments.

`NUMERATOR` copies of `\dfrac{NUMERATOR}{\blue{DENOMINATOR_1}}` segments are smaller than `NUMERATOR` copies of `\dfrac{NUMERATOR}{\red{DENOMINATOR_2}}` segments.

`\dfrac{NUMERATOR}{\blue{DENOMINATOR_1}}` COMPARISON `\dfrac{NUMERATOR}{\red{DENOMINATOR_2}}`

So number line `SOLUTION` is correct.