在数轴上定位小数(2)
几何画板及绘图内容加载中,请稍等……
本范例演示如何在数轴上正确放置小数分数,并获取即时反馈。这是一个更具挑战性的版本,使用了不同的端点。涉及的核心数学概念包括数轴、小数、有理数和实数。作图要点——从下方『构造摘要』提炼用到了哪些 GeoGebra 命令/对象:Polygon(多边形)、PointIn(点在内部判断)、If(条件判断)、Vector(向量)、Sequence(序列);对象:set(集合)、restrictPts(限制点)、f、h、i、j、Frac4PtSet1至Frac4PtSet6、Frac4PtSet1、frac4MasterPt、numLnMax、PtA至PtF、dotA至dotF、ckPlaceSet1至ckPlaceSet6、placeMasterYN、snapHorAmt、frac4X、snapHorHeight、snapVertAmt、Frac3PtSet1。适合初中及以上数学教学,用于帮助学生理解和掌握小数在数轴上的位置。
GeoGebra 命令及参数
Polygon((-0.05, 0.4), (2.05, 0.4), (2.05, 3.3), (-0.05, 3.3)) → restrictPts, f, h, i, jPointIn(restrictPts) → Frac4PtSet1PointIn(restrictPts) → Frac4PtSet2PointIn(restrictPts) → Frac4PtSet3PointIn(restrictPts) → Frac4PtSet4PointIn(restrictPts) → Frac4PtSet5PointIn(restrictPts) → Frac4PtSet6If(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)]]]]]]) → frac4XPointIn(restrictPts) → Frac3PtSet1PointIn(restrictPts) → Frac3PtSet2PointIn(restrictPts) → Frac3PtSet3PointIn(restrictPts) → Frac3PtSet4PointIn(restrictPts) → Frac3PtSet5PointIn(restrictPts) → Frac3PtSet6If(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)]]]]]]) → frac3XPointIn(restrictPts) → Frac2PtSet1PointIn(restrictPts) → Frac2PtSet2PointIn(restrictPts) → Frac2PtSet3PointIn(restrictPts) → Frac2PtSet4PointIn(restrictPts) → Frac2PtSet5PointIn(restrictPts) → Frac2PtSet6If(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)]]]]]]) → frac2XPointIn(restrictPts) → Frac1PtSet1PointIn(restrictPts) → Frac1PtSet6PointIn(restrictPts) → Frac1PtSet2PointIn(restrictPts) → Frac1PtSet3PointIn(restrictPts) → Frac1PtSet4PointIn(restrictPts) → Frac1PtSet5If(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.02, -0.75), 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]]]]]) → hintMasterYNSequence(Segment[(i, 0.28), (i, -0.28)], i, 0, 2, (Element[numLnMax, set] * Element[numLnHash, set])) → scaleHashXaxisSequence((0.26 + j, 3), j, 0, 1.5, 0.498) → fracAlignPts