Locating Fractions on a Number Line
Loading the math board and drawing, please wait…
① This example demonstrates how to drag fractions to their correct positions on a number line and receive immediate feedback. ② Core math concepts include the meaning of fractions, the correspondence between points on a number line and rational numbers, and comparing fraction sizes. ③ Construction highlights: using GeoGebra commands such as If, Vector, and Sequence to create multiple draggable fraction points (e.g., fracX41) and corresponding target position sets (Frac4PtSet1), with conditional logic (If) and sequences (Sequence) to generate feedback, and vectors (Vector) to assist positioning. ④ Suitable for upper elementary to middle school students learning fractions and number lines, as well as for classroom demonstrations or self-paced practice, helping learners intuitively grasp the relationship between fractions and their locations on the number line.
GeoGebra Commands & Parameters
If(set ≟ 1, Frac4PtSet1, If[set ≟ 2, Frac4PtSet2, If[set ≟ 3, Frac4PtSet3, If[set ≟ 4, Frac4PtSet4, If[set ≟ 5, Frac4PtSet5, Frac4PtSet6]]]]) → frac4MasterPtIf(set ≟ 1 ∧ ckPlaceSet1, true, If[set ≟ 2 ∧ ckPlaceSet2, true, If[set ≟ 3 ∧ ckPlaceSet3, true, If[set ≟ 4 ∧ ckPlaceSet4, true, If[set ≟ 5 ∧ ckPlaceSet5, true, If[set ≟ 6 ∧ ckPlaceSet6, true, false]]]]]) → placeMasterYNIf(x(frac4MasterPt) < x(dotA) + snapHorAmt ∧ x(frac4MasterPt) > x(dotA) - snapHorAmt, x(dotA), If[x(frac4MasterPt) < x(dotB) + snapHorAmt ∧ x(frac4MasterPt) > x(dotB) - snapHorAmt, x(dotB), If[x(frac4MasterPt) < x(dotC) + snapHorAmt ∧ x(frac4MasterPt) > x(dotC) - snapHorAmt, x(dotC), If[x(frac4MasterPt) < x(dotD) + snapHorAmt ∧ x(frac4MasterPt) > x(dotD) - snapHorAmt, x(dotD), If[x(frac4MasterPt) < x(dotE) + snapHorAmt ∧ x(frac4MasterPt) > x(dotE) - snapHorAmt, x(dotE), If[x(frac4MasterPt) < x(dotF) + snapHorAmt ∧ x(frac4MasterPt) > x(dotF) - snapHorAmt, x(dotF), If[x(frac4MasterPt) < x(dotG) + snapHorAmt ∧ x(frac4MasterPt) > x(dotG) - snapHorAmt, x(dotG), x(frac4MasterPt)]]]]]]) → frac4XIf(set ≟ 1, Frac3PtSet1, If[set ≟ 2, Frac3PtSet2, If[set ≟ 3, Frac3PtSet3, If[set ≟ 4, Frac3PtSet4, If[set ≟ 5, Frac3PtSet5, Frac3PtSet6]]]]) → frac3MasterPtIf(x(frac3MasterPt) < x(dotA) + snapHorAmt ∧ x(frac3MasterPt) > x(dotA) - snapHorAmt, x(dotA), If[x(frac3MasterPt) < x(dotB) + snapHorAmt ∧ x(frac3MasterPt) > x(dotB) - snapHorAmt, x(dotB), If[x(frac3MasterPt) < x(dotC) + snapHorAmt ∧ x(frac3MasterPt) > x(dotC) - snapHorAmt, x(dotC), If[x(frac3MasterPt) < x(dotD) + snapHorAmt ∧ x(frac3MasterPt) > x(dotD) - snapHorAmt, x(dotD), If[x(frac3MasterPt) < x(dotE) + snapHorAmt ∧ x(frac3MasterPt) > x(dotE) - snapHorAmt, x(dotE), If[x(frac3MasterPt) < x(dotF) + snapHorAmt ∧ x(frac3MasterPt) > x(dotF) - snapHorAmt, x(dotF), If[x(frac3MasterPt) < x(dotG) + snapHorAmt ∧ x(frac3MasterPt) > x(dotG) - snapHorAmt, x(dotG), x(frac3MasterPt)]]]]]]) → frac3XIf(set ≟ 1, Frac2PtSet1, If[set ≟ 2, Frac2PtSet2, If[set ≟ 3, Frac2PtSet3, If[set ≟ 4, Frac2PtSet4, If[set ≟ 5, Frac2PtSet5, Frac2PtSet6]]]]) → frac2MasterPtIf(x(frac2MasterPt) < x(dotA) + snapHorAmt ∧ x(frac2MasterPt) > x(dotA) - snapHorAmt, x(dotA), If[x(frac2MasterPt) < x(dotB) + snapHorAmt ∧ x(frac2MasterPt) > x(dotB) - snapHorAmt, x(dotB), If[x(frac2MasterPt) < x(dotC) + snapHorAmt ∧ x(frac2MasterPt) > x(dotC) - snapHorAmt, x(dotC), If[x(frac2MasterPt) < x(dotD) + snapHorAmt ∧ x(frac2MasterPt) > x(dotD) - snapHorAmt, x(dotD), If[x(frac2MasterPt) < x(dotE) + snapHorAmt ∧ x(frac2MasterPt) > x(dotE) - snapHorAmt, x(dotE), If[x(frac2MasterPt) < x(dotF) + snapHorAmt ∧ x(frac2MasterPt) > x(dotF) - snapHorAmt, x(dotF), If[x(frac2MasterPt) < x(dotG) + snapHorAmt ∧ x(frac2MasterPt) > x(dotG) - snapHorAmt, x(dotG), x(frac2MasterPt)]]]]]]) → frac2XIf(set ≟ 1, Frac1PtSet1, If[set ≟ 2, Frac1PtSet2, If[set ≟ 3, Frac1PtSet3, If[set ≟ 4, Frac1PtSet4, If[set ≟ 5, Frac1PtSet5, Frac1PtSet6]]]]) → frac1MasterPtIf(x(frac1MasterPt) < x(dotA) + snapHorAmt ∧ x(frac1MasterPt) > x(dotA) - snapHorAmt, x(dotA), If[x(frac1MasterPt) < x(dotB) + snapHorAmt ∧ x(frac1MasterPt) > x(dotB) - snapHorAmt, x(dotB), If[x(frac1MasterPt) < x(dotC) + snapHorAmt ∧ x(frac1MasterPt) > x(dotC) - snapHorAmt, x(dotC), If[x(frac1MasterPt) < x(dotD) + snapHorAmt ∧ x(frac1MasterPt) > x(dotD) - snapHorAmt, x(dotD), If[x(frac1MasterPt) < x(dotE) + snapHorAmt ∧ x(frac1MasterPt) > x(dotE) - snapHorAmt, x(dotE), If[x(frac1MasterPt) < x(dotF) + snapHorAmt ∧ x(frac1MasterPt) > x(dotF) - snapHorAmt, x(dotF), If[x(frac1MasterPt) < x(dotG) + snapHorAmt ∧ x(frac1MasterPt) > x(dotG) - snapHorAmt, x(dotG), x(frac1MasterPt)]]]]]]) → frac1XVector((1, 0), (-0.2, 0)) → numLnLVector((1, 0), (2.2, 0)) → numLnRSequence((k - 0.037, -0.25), k, 0, 2, (Element[numLnMax, set] * Element[numLnHash, set])) → labelPtListIf(x(Frac1PtLn) ≤ 2.2 ∧ x(Frac2PtLn) ≤ 2.2 ∧ x(Frac3PtLn) ≤ 2.2 ∧ x(Frac4PtLn) ≤ 2.2 ∧ x(Frac1PtLn) ≥ -0.2 ∧ x(Frac2PtLn) ≥ -0.2 ∧ x(Frac3PtLn) ≥ -0.2 ∧ x(Frac4PtLn) ≥ -0.2 ∧ y(Frac1PtLn) ≟ 0 ∧ y(Frac2PtLn) ≟ 0 ∧ y(Frac3PtLn) ≟ 0 ∧ y(Frac4PtLn) ≟ 0, true, false) → allOnLineIf(x(Frac4PtLn) / Element[numLnMax, set] ≥ Element[frac4Num, set] / Element[frac4Denom, set] - 0.016 ∧ x(Frac4PtLn) / Element[numLnMax, set] ≤ Element[frac4Num, set] / Element[frac4Denom, set] + 0.016, true, false) → frac4PlaceYNIf(x(Frac3PtLn) / Element[numLnMax, set] ≥ Element[frac3Num, set] / Element[frac3Denom, set] - 0.016 ∧ x(Frac3PtLn) / Element[numLnMax, set] ≤ Element[frac3Num, set] / Element[frac3Denom, set] + 0.016, true, false) → frac3PlaceYNIf(x(Frac2PtLn) / Element[numLnMax, set] ≥ Element[frac2Num, set] / Element[frac2Denom, set] - 0.016 ∧ x(Frac2PtLn) / Element[numLnMax, set] ≤ Element[frac2Num, set] / Element[frac2Denom, set] + 0.016, true, false) → frac2PlaceYNIf(x(Frac1PtLn) / Element[numLnMax, set] ≥ Element[frac1Num, set] / Element[frac1Denom, set] - 0.016 ∧ x(Frac1PtLn) / Element[numLnMax, set] ≤ Element[frac1Num, set] / Element[frac1Denom, set] + 0.016, true, false) → frac1PlaceYNIf(set ≟ 1 ∧ ckHintSet1, true, If[set ≟ 2 ∧ ckHintSet2, true, If[set ≟ 3 ∧ ckHintSet3, true, If[set ≟ 4 ∧ ckHintSet4, true, If[set ≟ 5 ∧ ckHintSet5, true, If[set ≟ 6 ∧ ckHintSet6, true, false]]]]]) → hintMasterYNVector(frac3MasterPt + (0.04, -1.5), Frac3PtLn + (0, 0.2)) → Frac3SegVector(frac1MasterPt + (0.04, -1.5), Frac1PtLn + (0, 0.2)) → Frac1SegVector(frac2MasterPt + (0.04, -1.5), Frac2PtLn + (0, 0.2)) → Frac2SegVector(frac4MasterPt + (0.04, -1.5), Frac4PtLn + (0, 0.2)) → Frac4SegSequence(Segment[(i, 0.28), (i, -0.28)], i, 0, 2, (Element[numLnMax, set] * Element[numLnHash, set])) → scaleHashZXaxisIf(set ≟ 1 ∧ ckHintSet1b, true, If[set ≟ 2 ∧ ckHintSet2b, true, If[set ≟ 3 ∧ ckHintSet3b, true, If[set ≟ 4 ∧ ckHintSet4b, true, If[set ≟ 5 ∧ ckHintSet5b, true, If[set ≟ 6 ∧ ckHintSet6b, true, false]]]]]) → hintMasterYNbSequence((0.26 + j, 3.7), j, 0, 1.5, 0.498) → fracAlignPts
AI Drawing Prompt Reference
Create a horizontal number line with multiple equally spaced points, each representing a fraction. Design draggable fraction points that snap to the correct position on the number line. Provide immediate feedback indicating whether each fraction is placed correctly based on its value and position. Include labels for the number line and fraction points, helping to illustrate the relationship between fractions and their positions on the number line for educational purposes.
The prompt above was compiled from the original drawing commands and is for reference only.